React / JavaScript:使用React扩展在阵列上执行2次更改(同时)

问题描述 投票:0回答:1

我试图用键/值对重命名我的数组中的'timestamp'。目前,我正在添加id和assing值,但我还需要将'timestamp'更改为'start'。有可能一次完成所有这些吗?

这是我到目前为止:

const {data} = this.state

const newAction = data.action.map((actionItem, index) => ({
  ...actionItem,
  id: index + 1,
  ...actionItem,
  'start': actionItem.timestamp 

}));
const items = {
  ...data,
  action: newAction
};

数据结构:

enter image description here

更新:

因此,上面的代码不是用start替换timestamp,而是将start添加到array。我希望timestamp被命名为start

javascript reactjs
1个回答
1
投票

扩展语法的另一种方法。

const action = [
  {
    Second: [],
    action: "Program Executed",
    timestamp: 12345,
  },
    {
    Second: [],
    action: "Something Happened",
    timestamp: 67891,
  }
];

const newAction = action.map( ( actionItem, index ) => {
  const { timestamp: start, ...rest } = actionItem;

  return {
    ...rest,
    id: index + 1,
    start,
  }
});

console.log( newAction );
© www.soinside.com 2019 - 2024. All rights reserved.