且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-11-22 18:01:15

程序化解决方案(也可在 https://jsfiddle.net/edorka/jnLxyzhb/):

var arr = [[ ['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']],[['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager'] ]];var 空 = {};var 结果 = arr.map(function(objectArray){var object = this;var 属性 = objectArray.map(function(attrArray){var name = attrArray[0], value = attrArray[1];对象[名称] = 值;返回对象;}, 目的);返回这个;}, 空的);控制台日志(结果);

I have been tasked to convert the following array to an array of object pairs:

var arr = [
  [
    ['firstName', 'Joe'],
    ['lastName', 'Blow'],
    ['age', 42],
    ['role', 'clerk'],
    [
      ['firstName', 'Mary'],
      ['lastName', 'Jenkins'],
      ['age', 36],
      ['role', 'manager']
    ]
  ]
]

I need to transform arr into an array of objects that looks like this:

[
 {firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'},
 {firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}
]

Programmatic solution (available too at https://jsfiddle.net/edorka/jnLxyzhb/):

var arr = [[ ['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']], [['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager'] ]];

var empty = {};
var result = arr.map(function(objectArray){
    var object = this;
    var attribute = objectArray.map(function(attrArray){
        var name = attrArray[0], value = attrArray[1];
        object[name] = value;
        return object;
    }, object);
    return this;
}, empty);

console.log(result);