Возникла проблема. Есть массив
const parent = [
['a', 1, 2, 3],
['b', 4, 5, 6],
['c', 7, 8, 9, 10],
['d', 11, 12, 13, 14, 15]
]
Необходимо преобразовать его в:
const secondArr = [
{a: 1, b: 4, c: 7, d: 11},
{a: 2, b: 5, c: 8, d: 12},
{a: 3, b: 6, c: 9, d: 13},
{a: null, b: null, c: 10, d: 14},
{a: null, b: null, c: null, d: 15}
]
Как можно проще сделать это преобразование?
const parent = [
['a', 1, 2, 3],
['b', 4, 5, 6],
['c', 7, 8, 9, 10],
['d', 11, 12, 13, 14, 15],
];
function transform(array) {
let max = 0;
for (let key in array) {
max = Math.max(array[key].length - 1, max);
}
let obj = [];
for (let i = 0; i < max; i++) {
obj[i] = {};
for (let j = 0; j < array.length; j++) {
obj[i][array[j][0]] = (array[j][i + 1] !== undefined ? array[j][i + 1] : null);
}
}
return obj;
}
console.log(transform(parent));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как убрать чек бокс зная только тайтл при нажатии onclick='deleTe', при условии, что чек бокс уже стоит
Есть site1ru, на нём есть iframe, в котором подгружается site2