我有兩個陣列:篩選兩個不同的結構化陣列下劃線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來實現?
我有兩個陣列:篩選兩個不同的結構化陣列下劃線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來實現?
假設你的ID都是唯一的:
var groupedById = _.indexBy(array1, "ID");
var filteredArray = _.map(array2, function (lookupId) {
return groupedById[lookupId];
});
請注意,這將以與您請求的ID列表相同的順序返回項目(即與'array2'指定的順序相同)。如果你更喜歡'array1'中的順序被保留,你將會想要使用基於_.filter的方法。 –
您可以發佈您的代碼那麼遠?什麼沒有用?你是怎麼試圖解決這個問題的? – elclanrs