标签: javascript arrays underscore.js
我有两个数组:
array1 = [{Name: 'abc', ID: 23},{Name:'xyz', ID: 10},{Name:'def', ID: 12}]; array2 = [10,23];
结果数组应该是数组1的一部分,其数组ID与array2的内容相交。
此处的结果为result = [{Name: 'abc', ID: 23},{Name: 'xyz', ID:10}];
result = [{Name: 'abc', ID: 23},{Name: 'xyz', ID:10}]
我是如何使用下划线js实现这一目标的?
答案 0 :(得分:3)
_.filter(array1, function(item){ return _.contains(array2, item.ID); });
您可以使用filter和contains。
试用here!
答案 1 :(得分:1)
假设您的ID是唯一的:
var groupedById = _.indexBy(array1, "ID"); var filteredArray = _.map(array2, function (lookupId) { return groupedById[lookupId]; });