将数据从 JavaScript 中的嵌套数组转换为对象


假设我们有以下数组的数组-

const arr = [
   [
      ['dog', 'Harry'], ['age', 2]
   ],
   [
      ['dog', 'Roger'], ['age', 5]
   ]
];

我们需要编写一个接收一个此类嵌套数组的 JavaScript 函数。然后函数应该基于该数组准备一个对象。

以上数组的对象应如下所示-

const output = [
   {dog: 'Harry', age: 2},
   {dog: 'Roger', age: 5}
];

示例

代码如下-

const arr = [
   [
      ['dog', 'Harry'], ['age', 2]
   ],
   [
      ['dog', 'Roger'], ['age', 5]
   ]
];
const prepareObjectArray = (arr = []) => {
   const copy = arr.slice();
   copy.forEach((el, ind, array) => {
      el.forEach((element, index, subArray) => {
         subArray[element[0]] = element[1];
      });
      el.length = 0;
      array[ind] = Object.assign({}, array[ind]);
   });
   return copy;
};
console.log(prepareObjectArray(arr));

输出

并且控制台中的输出将是-

[ { dog: 'Harry', age: 2 }, { dog: 'Roger', age: 5 } ]

更新于: 24-11-2020

682 次浏览

启动你的职业生涯

通过完成课程获得认证

开始
广告