Вы можете использовать array.shift, чтобы получить first row
в качестве header
массива, а затем выполнить итерацию остальной части строки.
const tableData = [
["first_name", "last_name", "city", "state"],
["Elisabeth", "Gardenar", "Toledo", "OH"],
["Jamaal", "Du", "Sylvania", "OH"],
["Kathlyn", "Lavoie", "Maumee", "OH"],
];
function convertTable(arr) {
const header = arr.shift();
return arr.map((i) => {
return {
[header[0]]: i[0],
[header[1]]: i[1],
[header[2]]: i[2],
[header[3]]: i[3],
};
});
}
console.log(convertTable(tableData));
Для динамо c объект:
const tableData = [
["first_name", "last_name", "city", "state"],
["Elisabeth", "Gardenar", "Toledo", "OH"],
["Jamaal", "Du", "Sylvania", "OH"],
["Kathlyn", "Lavoie", "Maumee", "OH"],
];
function convertTable(arr) {
const header = arr.shift();
return arr.map((i) => {
return header.reduce((m, key, index) => {
m[key] = i[index];
return m;
}, {});
});
}
console.log(convertTable(tableData));