我有两个数组:
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?
我有两个数组:
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?
_.filter(array1, function(item){ return _.contains(array2, item.ID); });
您可以使用过滤器和包含 。
尝试一下这里 !
假设你的ID是唯一的:
var groupedById = _.indexBy(array1, "ID");
var filteredArray = _.map(array2, function (lookupId) {
return groupedById[lookupId];
});