【发布时间】:2020-06-29 15:58:25
【问题描述】:
const arr1 = [
{id: 1, name: 'first'},
{id: 2, name: 'second'},
{id: 3, name: 'third'}
];
const arr2 = [
{id: 1, name: 'first', color: 'blue'},
{id: 2, name: 'second', color: 'red'}
];
我想按id 的arr2 的属性过滤arr1。
结果应该是
result = [{id: 3, name: 'third}]
我试过了:
const arr1 = [
{id: 1, name: 'first'},
{id: 2, name: 'second'},
{id: 3, name: 'third'}
];
const arr2 = [
{id: 1, name: 'first', color: 'blue'},
{id: 2, name: 'second', color: 'red'}
];
const result = arr1.filter((item) => {
return arr2.some((value) => {
return value.id !== item.id
})
});
console.log(result);
但它的结果是
[
{id: 1, name: 'first'},
{id: 2, name: 'second'},
{id: 3, name: 'third'}
];
我认为我的逻辑几乎是正确的。
有人可以帮忙解决这个简单的错误吗?
【问题讨论】:
标签: javascript arrays filter