js替换数组中多项怎么处理?

数组处理单个元素还可以,但是多项就有点头疼了!

let arr = 
[{
      id: 1,
      status: true,
      year: '近期-2025',
      time: '早高峰',
    },
{
      id: 2,
      status: false,
      year: '近期-2026',
      time: '早高峰',
    },
{
      id:3,
      status: false,
      year: '远期-2027',
      time: '早高峰',
    },]

如果先有这个数组派生出来的两项数据修改之后想替换原数组。

let newArr =[
{
      id: 1,
      status: false,
      year: '近期-2026',
      time: '早高峰',
    },
{
      id:3,
      status: true,
      year: '远期-2027',
      time: '早高峰',
    },]

最后想变成

let newArr =[
{
      id: 1,
      status: false,
      year: '近期-2026',
      time: '早高峰',
    },
{
      id: 2,
      status: false,
      year: '近期-2026',
      time: '早高峰',
    },
{
      id:3,
      status: true,
      year: '远期-2027',
      time: '早高峰',
    },]
阅读 1.4k
1 个回答
const result = arr.map(it => newArr.find(({ id }) => id === it.id) ?? it);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题