我们以前可以使用双循环,来判断条件,达到目的,这里我们使用更简洁的方法:
合并数组,然后通过obj[v.name]=obj[v.name]===undefined)判断其条件,将两个数组对象的相同属性将对应的type变为1。
var arr1=[
{name:‘a’},
{name:‘b’},
{name:‘c’}
]
var arr2=[
{name:‘a’,type:‘0’},
{name:‘b’,type:‘0’},
{name:‘d’,type:‘0’}
]
var obj = {};
function get(arr1,arr2){
return […arr1,…arr2].filter(v=>{
if(!(obj[v.name]=obj[v.name]===undefined)){
return v.type=‘1’
}
})
}
console.log(get(arr1,arr2));