js替换数组中的某个键值对

var arr = [
    {
      "fdId": "1ech3enh02snwcw1q9fd0q2jv026k1hb",
      "actionType": "agree",
      "triggerTime": 48,
    },
    {
      "fdId": "1ecp2el9j35ow2dw34t42dd1klcdea1s",
      "actionType": "forward",
      "triggerTime": 27,
    }
  ]

生成一个新数组,把fdId替换成id
应该怎么转换

阅读 3.9k
4 个回答
var arr = [
    {
      "fdId": "1ech3enh02snwcw1q9fd0q2jv026k1hb",
      "actionType": "agree",
      "triggerTime": 48,
    },
    {
      "fdId": "1ecp2el9j35ow2dw34t42dd1klcdea1s",
      "actionType": "forward",
      "triggerTime": 27,
    }
];
var newArr = [];

arr.forEach(({ fdId, ...rest }) => newArr.push({ id: fdId, ...rest }));

你这个不能成为替换了,应该是增加一项,删除一项

let resule = arr.map(item => {
    let obj = Object.assign({id: 'a'}, item)
    delete obj.fdId
    return obj
})

let newArr = [];
arr.forEach({actionType, trriggerTime, fdId: id} => {

newArr.push({
    actionType,trriggerTime,id
});

});
此时newArr就是你想要的那个数组了

let result = arr.reduce((obj, { fdId, ...rest }) => obj.push({ id: fdId, ...rest }) == false || obj, []);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题