假设我们有以下数组数组-
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 } ]