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(数组)