簡體   English   中英

從另一個數組過濾對象數組

[英]Filter array of object from another array

我有兩個數組。 我想過濾一個包含來自另一個數組的對象的數組。

let array1= [{date:1, count:4}, {date:3, count:6}];
let array2= [1,2,3,4];

過濾這兩個數組后,我需要過濾數組,如下所示。

let array= [4,0,6,0];

因此,過濾后的數組包含匹配日期的計數和不匹配值的零。 但我只得到匹配的數據。

這是我的代碼:

let array = _.map(_.filter(array1, function(o){
    return _.includes(array2, o.date);
}), 'count');

謝謝

您可以為此使用map()find()方法。 您不需要filter()因為對於每個元素,您將返回 count 或 0 ,因此您可以只使用map()

 let array1= [{date:1, count:4}, {date:3, count:6}]; let array2= [1,2,3,4]; var array = array2.map(function(e) { var f = array1.find(a => a.date == e); return f ? f.count : 0 }); console.log(array)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM