let a = [{"key":1,"val":1},{"key":2,"val":2}];
let b = [{"key":1,"name":1},{"key":1,"name":3},{"key":3,"name":3},{"key":2,"name":2}];
a.reduce((arr,cur,index)=>{
let mat = b.filter(item => item.key ===cur.key);
if(mat && mat.length > 0){
mat.map(item => {
item.val = cur.val;
arr.push(item);
});
}
return arr;
},[])
根据变量a筛选变量b并添加val属性
结果:
[{"key":1,"name":1,"val":1},{"key":1,"name":3,"val":1},{"key":2,"name":2,"val":2}]
本文介绍了一种使用JavaScript的reduce和filter方法处理数组的高级技巧。通过具体示例,展示了如何根据一个数组(a)筛选另一个数组(b),并将筛选后的元素添加val属性,最终得到一个新的数组。此方法适用于数据处理和数组操作场景。
9676

被折叠的 条评论
为什么被折叠?



