如何在JavaScript中将嵌套数组对转换为数组中的对象?

假设我们有一个像这样的数组的数组-

const arr = [

   [

      ['firstName', 'Joe'],

      ['lastName', 'Blow'],

      ['age', 42],

      ['role', 'clerk'],

      [

         ['firstName', 'Mary'],

         ['lastName', 'Jenkins'],

         ['age', 36],

         ['role', 'manager']

      ]

   ]

];

我们需要编写一个包含一个这样的数组的JavaScript函数。该函数应基于此数组数组构造一个对象数组。

输出数组应包含每个唯一用户的对象以及有关它的其他详细信息。

因此,数组的输出应类似于-

const output = [

   {firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'},

   {firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}

];

示例

为此的代码将是-

const arr = [

   [

      ['firstName', 'Joe'],

      ['lastName', 'Blow'],

      ['age', 42],

      ['role', 'clerk'],

      [

         ['firstName', 'Mary'],

         ['lastName', 'Jenkins'],

         ['age', 36],

         ['role', 'manager']

      ]

   ]

];

const convertToObject = (arr = []) => {

   const empty = {};

   const res = arr.map(el => {

      const object = this;

      el.forEach(attr => {

         let name = attr[0], value = attr[1];

         object[name] = value;

         return object;

      }, object);

      return this;

   }, empty);

   return res;

}

console.log(convertToObject(arr));

输出结果

控制台中的输出将是-

[

   {

      firstName: 'Joe',

      lastName: 'Blow',

      age: 42,

      role: 'clerk',

      'firstName,Mary': [ 'lastName', 'Jenkins' ]

   }

]

以上是 如何在JavaScript中将嵌套数组对转换为数组中的对象? 的全部内容, 来源链接: utcz.com/z/358917.html

回到顶部