javascript - 如何将数组转换为对象并按js中的索引号/步骤进行分组

标签 javascript arrays object

我有一个数组

[
a1,
b1,
c1,
d1,
a2,
b2,
c2,
d2
]

我想将其转换为:

{
    0: {
        name: a1,
        tel: b1,
        mail: c1,
        address: d1
        },
    1: {
        name: a2,
        tel: b2,
        mail: c2,
        address: d2
        }
}

基本上每 4 个阵列步骤将它们分组。执行此操作的最佳方法是什么?

感谢任何帮助。谢谢

最佳答案

我通过迭代提供了一个解决方案,但是我认为反序列化是更好的选择,等待更优雅的解决方案

let data = [
`a1`,
`b1`,
`c1`,
`d1`,
`a2`,
`b2`,
`c2`,
`d2`
]

let keys = ['name','tel','mail','address']
let result = {}
for(let i=0;i<data.length;i=i+keys.length){
  result[i/4] = {}
  for(key of keys){
    result[i/4][key] = data[i]
  }
}
console.log(result)

关于javascript - 如何将数组转换为对象并按js中的索引号/步骤进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74500484/

相关文章:

javascript - 检查类(class)是否有另一个类(class)并将类(class)添加到下一个 child

javascript - Paypal Checkout 客户端集成 - 返回订单 ID promise 的问题

javascript - 如何从javascript访问顺风颜色

javascript - 我正在制作 Atari Breakout 克隆版,我想知道如何判断球是否击中了方 block 的某一侧

JavaScript 数组 - 迭代问题

javascript - 删除对象数组中的空对象键

javascript - 为什么javascript推送数组和定义数组不相等

javascript - 使用 Javascript 通过正则表达式过滤数组

C#:如何在 form.cs 中引用 Program.cs 中的内容?

javascript - TypeScript:初始化嵌套对象的更简单方法?