繁体   English   中英

如何用嵌套的 arrays 将数组表示为 object

[英]How to represent array with nested arrays as an object

这是我的代码

let array = [
  [
    ['firstName', 'Mary'],
    ['lastName', 'Jenkins'],
    ['age', 36],
    ['gender', 'female'],
  ],
  [
    ['lastName', 'Kim'],
    ['age', 40],
    ['gender', 'female'],
  ],  [
    ['firstName', 'Joe'],
    ['age', 42],
    ['gender', 'male'],
  ],
]

array.map(function (el) {
   return Object.assign({}, el)
})

然而,这就是它在控制台中的显示方式

在此处输入图像描述

我试过array.flat()但没有按预期工作

我希望结果看起来像这样

[[{firstName : 'Mary'}.{lastName : 'jenkins'},..],...]

你想要一个对象列表,还是一个键值(对)对象列表?

对象列表

 let array = [ [ ['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['gender', 'female'], ], [ ['lastName', 'Kim'], ['age', 40], ['gender', 'female'], ], [ ['firstName', 'Joe'], ['age', 42], ['gender', 'male'], ], ] const listOfObjects = array.map(Object.fromEntries); console.log(listOfObjects.map(JSON.stringify).join('\n'));
 .as-console-wrapper { top: 0; max-height: 100%;important; }

object 属性列表列表

 let array = [ [ ['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['gender', 'female'], ], [ ['lastName', 'Kim'], ['age', 40], ['gender', 'female'], ], [ ['firstName', 'Joe'], ['age', 42], ['gender', 'male'], ], ] const listOfListOfPairs = array.map(items => items.map(item => Object.fromEntries([item]))); console.log(listOfListOfPairs.map(JSON.stringify).join('\n'));
 .as-console-wrapper { top: 0; max-height: 100%;important; }

您可以使用Object.fromEntries

在你的情况下,这样的事情会起作用:

 let array = [ [ ['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['gender', 'female'], ], [ ['lastName', 'Kim'], ['age', 40], ['gender', 'female'], ], [ ['firstName', 'Joe'], ['age', 42], ['gender', 'male'], ], ] const asObjects = array.map((entries) => Object.fromEntries(entries)) console.log(asObjects)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM