let json = [{id:1,name:'小白'},{id:2,name:'小红'},{id:3,name:'小绿'},{id:4,name:'小蓝'}] let temp1 = [{id:2,name:'花'},{id:4,name:'草'}] console.log(json,'--这是原数据') json.forEach(i=>{ let index = null temp1.forEach(j=>{ // 找到当前各项对应的索引值,反之则回-1 // 这里是根据 id 匹配的,也可以输入其它值 index = temp1.findIndex(j => i.id === j.id) }) if(index !== -1){ Object.assign(i,temp1[index]) }else{ for(let [key,vuale] of Object.entries(i)){ // 这里是初始化,可以赋值为空 i[key] = vuale } } }) console.log(json,'--这是替换后的数据')