angular - 根据每个对象中的字段过滤对象数组
问题描述
假设我有一个这样的对象数组:
[
{ "type": 121, "model": "model1" },
{ "type": 128, "model": "model2" },
{ "type": 130, "model": "model2" },
{ "type": 130, "model": "model2" }
]
我想过滤它并根据模型字段创建新对象。
最终结果是:
[
{ "type": 121, "model": "model1" }
]
[
{ "type": 128, "model": "model2" },
{ "type": 130, "model": "model2" },
{ "type": 130, "model": "model2" }
]
我正在使用 typescript 和 lodash 所以最好的
我尝试了 lodash groupBy 和 ES6 映射,但到目前为止没有成功。我想我可以用多个 forEach 循环以一种肮脏的方式做到这一点,但我很确定有一个更简单的方法。
解决方案
您可以使用.filter
,如下所示:
let newarray1 = array.filter(obj => obj.model === 'model1');
let newarray2 = array.filter(obj => obj.model === 'model2');
...
推荐阅读
- python-3.x - 当我使用画布(tkinter)创建多边形时有关透明度的问题
- azure - 从 Azure 设备预配服务获取 IOT 集线器连接字符串
- c++ - 在 C++ 纯虚函数上应用“使用”关键字
- openoffice-calc - Calc中带有空白单元格的范围的条件总和
- c# - 从 .xml 文件 (C#) 中绘制“像素路径”
- angular6 - 在 ag-grid 中编辑后行移到顶部
- plot - 无法在 GRC 中绘制 FFT 结果,给出“itemsize mismatch”错误
- python - 想要找到与熊猫数据框相对应的元素的列表索引(np.where with .index())
- ethereum - 调用合约函数时 BigNumber() 不是基数为 16 的数字错误
- amazon-web-services - 环境变量是在部署 Lambda 函数代码之前还是之后设置的?