gpt4 book ai didi

javascript - Underscore JS 数组和带对象的数组的区别

转载 作者:行者123 更新时间:2023-12-03 11:57:50 26 4
gpt4 key购买 nike

我有一个包含某些数字的数组和一个包含某些对象的数组,如下所示:

var names = [
{ id: 1, name: 'Alex'},
{ id: 2, name: 'John'},
{ id: 3, name: 'Mary'}
];

var blocked_ids = [1, 2];

现在我想从名称数组中删除带有blocked_ids 的对象。所以结果是这样的:

[
{ id: 3, name: 'Mary'}
]

正如您所看到的,id 为 1 和 2 的对象消失了,因为数组“blocked_ids”包含这些数字。如果它只有两个数组,我可以使用 _.difference(),但现在我必须将blocked_ids 与数组对象内的id 进行比较。有人知道该怎么做吗?

最佳答案

假设您给出的block-ids是一个Id数组,您可以像下面一样使用reject

var arr = [ { id: 1,
name: 'Alex'},
{ id: 2,
name: 'John'},
{ id: 3,
name: 'Mary'}
];

var block_ids = [1,2];
var result = _.reject(arr, function (obj) {
return block_ids.indexOf(obj.id) > -1;
});

console.log(result);

DEMO

关于javascript - Underscore JS 数组和带对象的数组的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25523657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com