当输入是 属性 值 Javascript 的数组时,从数组对象中移除具有相同 属性 值的对象
Remove Object have same property value from Array object when input is Array of property value Javascript
我有数组对象:
[
{
id: 1,
name: ABC,
age: 10
},
{
id: 2,
name: ABCXYZ,
age: 20
},
{
id: 3,
name: ZYXCNA,
age: 30
},
...
...
....more
]
并且数组是上述数组对象中 id
的值:
[ 1, 2]
然后我想要一个数组对象在上面的数组对象中没有 id
的值。
例如:我将在此处收到的数组对象是
[
{
id: 3,
name: ZYXCNA,
age: 30
},
{
id: 4,
name: ABCDX,
age: 30
}
]
我在这里使用了 3 个 for 循环来解决这个问题,但我认为这可以有更聪明的方法。
就像在这里使用 reduce
一样,但我仍然没有解决。谁能帮我?非常感谢。
您可以使用 Array.filter
& Array.includes
来做到这一点。
const source = [
{
id: 1,
name: 'ABC',
age: 10
},
{
id: 2,
name: 'ABCXYZ',
age: 20
},
{
id: 3,
name: 'ZYXCNA',
age: 30
},
{
id: 4,
name: 'ABCDX',
age: 30
}
];
const input = [ 1, 2 ];
const output = source.filter(({ id }) => !input.includes(id));
console.log(output);
你根本不需要任何显式循环,你只是在过滤
var input = [
{
id: 1,
name: "ABC",
age: 10
},
{
id: 2,
name: "ABCXYZ",
age: 20
},
{
id: 3,
name: "ZYXCNA",
age: 30
},
];
var ids = [1,2];
var result = input.filter(x => ! ids.includes(x.id));
console.log(result);
我有数组对象:
[
{
id: 1,
name: ABC,
age: 10
},
{
id: 2,
name: ABCXYZ,
age: 20
},
{
id: 3,
name: ZYXCNA,
age: 30
},
...
...
....more
]
并且数组是上述数组对象中 id
的值:
[ 1, 2]
然后我想要一个数组对象在上面的数组对象中没有 id
的值。
例如:我将在此处收到的数组对象是
[
{
id: 3,
name: ZYXCNA,
age: 30
},
{
id: 4,
name: ABCDX,
age: 30
}
]
我在这里使用了 3 个 for 循环来解决这个问题,但我认为这可以有更聪明的方法。
就像在这里使用 reduce
一样,但我仍然没有解决。谁能帮我?非常感谢。
您可以使用 Array.filter
& Array.includes
来做到这一点。
const source = [
{
id: 1,
name: 'ABC',
age: 10
},
{
id: 2,
name: 'ABCXYZ',
age: 20
},
{
id: 3,
name: 'ZYXCNA',
age: 30
},
{
id: 4,
name: 'ABCDX',
age: 30
}
];
const input = [ 1, 2 ];
const output = source.filter(({ id }) => !input.includes(id));
console.log(output);
你根本不需要任何显式循环,你只是在过滤
var input = [
{
id: 1,
name: "ABC",
age: 10
},
{
id: 2,
name: "ABCXYZ",
age: 20
},
{
id: 3,
name: "ZYXCNA",
age: 30
},
];
var ids = [1,2];
var result = input.filter(x => ! ids.includes(x.id));
console.log(result);