如何替换数组中的指定对象

2025-12-18 04:40:33

1、arr1.map(obj => arr2.find(o => o.id === obj.id) || obj);

2、var arr1 = [{    id: '124',


    name: 'qqq'
}, {
    id: '589',
    name: 'www'
}, {
    id: '45',
    name: 'eee'
}, {
    id: '567',
    name: '攀三怕rrr'
}];
var arr2 = [{
    id: '124',
    name: 'ttt'
}, {
    id: '45',
    name: 'yyy'
}];
var res = arr1.map(obj => arr2.find(o => o.id === obj.id) || obj);
console.log(res);

3、我将问题分解为两个函数以提高可读性:

// The following function is used for each itertion in the function updateObjectsInArr


const newObjInInitialArr = function(initialArr, newObject) {
  let id = newObject.id;
  let newArr = [];
  for (let i = 0; i < initialArr.length; i++) {
 慎帽   if (id === initialArr[i].id) {
      newArr.push(newObject);
    } else {
      newArr.push(initialArr[i]);
    }
  }
  return newArr;
};
const updateObjectsInArr = function(initialArr, newArr) {
    let finalUpdatedArr = initialArr; 
    for (let i = 0; i < newArr.length; i++) {
      finalUpdatedArr = newObjInInitialArr(finalUpdatedArr, newArr[i]);
    }
    return finalUpdatedArr
}

 鉴关

const revisedArr = updateObjectsInArr(arr1, arr2);
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢