[英]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.