Javascript 从另一个数组中筛选对象的数组

Javascript 从另一个数组中筛选对象的数组,javascript,arrays,lodash,Javascript,Arrays,Lodash,我有两个数组。我想筛选一个数组,其中包含来自另一个数组的对象 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){

我有两个数组。我想筛选一个数组,其中包含来自另一个数组的对象

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}];
设array2=[1,2,3,4];
var array=array2.map(函数(e){
var f=array1.find(a=>a.date==e);
返回f?f计数:0
});
console.log(数组)