小编Ale*_*lex的帖子

在javascript中将嵌套数组转换为对象

我正在处理一项涉及将数组转换为对象的作业,但我有点束手无策。我们从一个数组开始,其中包含两个额外的嵌套数组,每个数组包含可变数量的数组(每个数组包含两个值)。

任务是将所有这些转换为一个包含多个对象的数组。在每个对象中,将有一系列键/值对,它们等于每个最小给定数组中的两个值。

例如

参数将如下所示:

[
  [['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']],
  [['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager']]
]
Run Code Online (Sandbox Code Playgroud)

鉴于该输入,返回值应如下所示:

[{firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'}, {firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}]
Run Code Online (Sandbox Code Playgroud)

使用调试器,我确定我的代码正确地将键/值对分配给 return 语句中的第一个对象。但是,当循环继续时,不是创建新的嵌套对象,而是替换来自第一个对象的键/值对,因此我最终只得到一个对象,该对象具有来自被评估的最终数组的正确键值对。

到目前为止,这是我的代码:

function transformEmployeeData(employeeData) {
  var obj = {}, arr = []
  for (var i = 0; i < employeeData.length; i ++) {
    for (var j = 0; j < employeeData[i].length; j ++) {
      var key = employeeData[i][j][0];
      var …
Run Code Online (Sandbox Code Playgroud)

javascript arrays nested object

5
推荐指数
2
解决办法
5754
查看次数

标签 统计

arrays ×1

javascript ×1

nested ×1

object ×1