【问题标题】:How to move object properties inside an array of objects [duplicate]如何在对象数组中移动对象属性[重复]
【发布时间】:2021-11-16 19:28:24
【问题描述】:

我有一个这样的对象数组:

currentArray = [
  {
    year: 2011,
    asset: {
      silver: 322,
      gold: 325,
    },
  },
  {
    year: 2012,
    asset: {
      silver: 411,
      gold: 2235,
    },
  },
];

在 JavaScript/TypeScript 中需要做什么,才能将其从当前结构更改为下面的结构?每个资产对象的银和金属性应该存储在上面的对象中,在“年份”旁边,并且需要删除资产对象:

desiredArray = [
  {
    year: 2011,
    silver: 322,
    gold: 325,
  },
  {
    year: 2012,
    silver: 411,
    gold: 2235,
  },
];

【问题讨论】:

  • @felixkling 递归对于这个来说太过分了。它只需要一张简单的地图。 const result = currentArray.map(({year, asset}) =>({year, ...asset}));
  • @pilchard,完美)))

标签: javascript arrays typescript object


【解决方案1】:

let currentArray = [{
    year: 2011,
    asset: {
      silver: 322,
      gold: 325,
    },
  },
  {
    year: 2012,
    asset: {
      silver: 411,
      gold: 2235,
    },
  },
];

currentArray.map(item => {
  Object.assign(item, item.asset)
  delete item.asset;
  
  return item
})

console.log(currentArray)

【讨论】:

  • 更简单:Object.assign(item, item.asset)。但是如果你改变数组,不要使用.map
猜你喜欢
  • 1970-01-01
  • 2016-11-25
  • 2022-11-03
  • 2018-05-25
  • 2021-06-18
  • 2019-01-03
  • 2018-10-18
  • 1970-01-01
  • 2021-03-29
相关资源
最近更新 更多