Вы можете использовать Array#map
и Array#reduce
методы.Выполните итерацию по второму массиву, используя метод Array#map
, при этом используйте метод Array#reduce
для генерации объекта и возврата.
let res = data.map(arr => properties.reduce((obj, k, i) => Object.assign(obj, { [k]: arr[i] }), {}));
let properties = ['name', 'height', 'weight', 'zone'],
data = [
['Luke Skywalker', 123, 112, 'B'],
['Jawa', 12, 8, 'B'],
['Hutt', 200, 999, 'C']
];
let res = data.map(arr => properties.reduce((obj, k, i) => Object.assign(obj, { [k]: arr[i] }), {}));
console.log(res)
или
let res = data.map(arr => properties.reduce((obj, k, i) => (obj[k] = arr[i], obj)), {}));
let properties = ['name', 'height', 'weight', 'zone'],
data = [
['Luke Skywalker', 123, 112, 'B'],
['Jawa', 12, 8, 'B'],
['Hutt', 200, 999, 'C']
];
let res = data.map(arr => properties.reduce((obj, k, i) => (obj[k] = arr[i], obj), {}));
console.log(res)