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

 时间:2026-02-14 12:19:37

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);
  • 烟雨江湖如何进行加点
  • 烟雨江湖怎么完成初出茅庐任务?
  • 烟雨江湖怎么寻找到李长顺恩人
  • 烟雨江湖酒艺攻略
  • 烟雨江湖随从怎么获得
  • 热门搜索
    苏州旅游节 南昌旅游团 饶平旅游景点大全 海口恒大文化旅游城 成都市内旅游攻略 宁夏旅游政务网 房山旅游局 张家界地图旅游详图 香港赤柱旅游攻略 78月份适合去哪旅游