Jee*_*mar 0 arrays mapping filter angular
我有2 arrays,我想根据列值过滤数据.我使用下面的代码,但它无法正常工作.
const result = data.map(data1 => {
return Object.assign({}, data1, this.data2.filter(data2 => data2.Id !== data1.Id)[0]);
});
Run Code Online (Sandbox Code Playgroud)
数据1:
[
{
"id": 2,
"name": "data 2",
},
{
"id": 3,
"name": "data 3",
}
]
Run Code Online (Sandbox Code Playgroud)
数据2:
[
{
"id": 2,
"name": "data 2"
},
{
"id": 3,
"name": "data 3"
},
{
"id": 4,
"name": "data 4"
}
]
Run Code Online (Sandbox Code Playgroud)
它应该返回低于输出.
[
{
"id": 4,
"name": "data 4"
}
]
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
您正在寻找的是2个对象数组的区别,请参阅:JavaScript中两个对象数组之间的差异
您还可以使用以下纯粹的ID:
let ids = data1.map(item => item.id);
let filteredData = data2.filter(item => ids.indexOf(item.id) === -1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7723 次 |
| 最近记录: |