Возникла проблема. Есть массив
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));
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники