首页 > 解决方案 > 数组到数组组转换

问题描述

我需要在 JavaScript 中转换这个数组。我尝试了很多方法,但没有工作...

value = [
  {
      group: "Switzerland",
      id: "A",
      name: "ABC"
  },
  {
      group: "Switzerland",
      id: "B",
      name: "ABC3"
  },
  {
      group: "France",
      id: "C",
      name: "ABC1"
  },
  {
      group: "Italy",
      id: "F",
      name: "ABC3"
  }
]

我需要将上面的数组转换为下面的数组格式。

value = [
  {
    name: 'Switzerland',
    bank: [
      {
        group: "Switzerland",
        id: "A",
        name: "ABC"
      },
      {
        group: "Switzerland",
        id: "B",
        name: "ABC3"
      }
    ]
  },
  {
    name: 'France',
    bank: [
      {
        group: "France",
        id: "C",
        name: "ABC1"
      }
    ]
  },
  {
    name: 'Italy',
    bank: [
      {
        group: "Italy",
        id: "F",
        name: "ABC3"
      }
    ]
  }
]

标签: javascriptarrays

解决方案


您可以遍历原始对象并将值复制到与您的新模型对应的新对象中。

let newArray = []

for (let item of value) {
    let newItem = {
        name: item.group,
        bank: [{
            group: item.group,
            id: item.id,
            name: item.name,
        }]
    }
    newArray.push(newItem)
}

(您应该始终包含一些关于您试图实现的目标以及代码的起点是什么的解释,但希望这会有所帮助。)


推荐阅读