过滤两种不同结构化阵列下划线JS(Filter two different structured a

2019-11-02 22:11发布

我有两个数组:

array1 = [{Name: 'abc', ID: 23},{Name:'xyz', ID: 10},{Name:'def', ID: 12}];
array2 = [10,23];

所得阵列应阵列1,其与ID的数组2内容相交的一部分。

在此,其结果将是result = [{Name: 'abc', ID: 23},{Name: 'xyz', ID:10}] ;

任何想法我怎么能做到这一点使用下划线JS?

Answer 1:

_.filter(array1, function(item){ return _.contains(array2, item.ID); });

您可以使用过滤器和包含 。

尝试一下这里 !



Answer 2:

假设你的ID是唯一的:

var groupedById = _.indexBy(array1, "ID");
var filteredArray = _.map(array2, function (lookupId) {
    return groupedById[lookupId];
});


文章来源: Filter two different structured arrays underscore js