javascript - 更新数组但保留 map 中的现有数组

标签 javascript reactjs ecmascript-6

如何使用 map 更新第一项时间?

const myArr = [{
  day: 1,
  time: [1200, 1400]
}]

newTime = 1300;
myNewArr = myArr.map(d => {
  return {
    day: d.day,
    time: [newTime] // but this don't care about order
  }
})
console.log(myNewArr)

这是 1200,将其替换为 1300,但保留 1400 作为第二项?反之亦然,将 1400 替换为另一个数字。

最佳答案

你可以使用 Object.assign并取一个具有所需索引的对象进行替换。

var myArr = [{ day: 1, time: [1200, 1400] }],
    newTime = 1300,
    myNewArr = myArr.map(
        ({ day, time }) => ({ day, time: Object.assign([], time, { 0: newTime }) })
    );

console.log(myNewArr);

关于javascript - 更新数组但保留 map 中的现有数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49666350/

相关文章:

javascript - 在 DIV 上按下按键以引用某个位置

javascript - Reactjs 动态表单获取错误 OnChange 输入值?

javascript - 使用 Javascript ECMAScript 6 将表数据转换为分层树数据的算法

typescript - ts2339 : property 'should' does not exist on type Bluebird<boolean>

javascript - 如何简化根据属性组合两个数组的 es6 函数?

javascript - 如何禁用图表js图例点击

javascript - 在没有额外元素包装的情况下删除垂直滚动条?

javascript - 我收到错误错误 : [$compile:tplrt] while using directive in angularjs

javascript - 将状态从一个 React 组件传递到另一个

reactjs - React 和 ag-grid - 如何更新 `getRowClass` 函数?