如何在 JavaScript 中将嵌套数组对转换为数组中的对象?
javascriptweb developmentfront end technologyobject oriented programming更新于 2024/1/9 12:28:17
假设我们有一个这样的数组数组 −
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 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

