Почему мой .flat () правильно объединяет два массива, но при преобразовании нового единственного массива я получаю только вторую половину? - PullRequest
0 голосов
/ 18 марта 2019

Почему мой .flat () правильно объединяет два массива, но при преобразовании нового единственного массива я получаю только вторую половину в объекте?

Написать функцию с именем "transformEmployeeData", которая преобразует некоторых сотрудниковданные из одного формата в другой.

var output = transformEmployeeData([
    [
        ['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']
    ],
    [
        ['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager']
    ]
])
console.log(output)
  function transformEmployeeData(employeeData) {
    var arra = employeeData.flat()
    console.log(arra)
    var obj = {}

    for (var i = 0; i < arra.length; i++) {
      obj[arra[i][0]] = arra[i][1]
    }
    return obj
  }

Что приводит к:

(8) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
0: (2) ["firstName", "Joe"]
1: (2) ["lastName", "Blow"]
2: (2) ["age", 42]
3: (2) ["role", "clerk"]
4: (2) ["firstName", "Mary"]
5: (2) ["lastName", "Jenkins"]
6: (2) ["age", 36]
7: (2) ["role", "manager"]
length: 8
__proto__: Array(0)
ArrayToObject3.html:17 
{firstName: "Mary", lastName: "Jenkins", age: 36, role: "manager"}
age: 36
firstName: "Mary"
lastName: "Jenkins"
role: "manager"
__proto__: Object
...