@304

Как создать объект из двух массивов?

Один массив - ключи, второй значения

Пример - 2 массива
var arr =  ['a', 'b', 'c']
var arr2 = [7, 2, 5]


На выходе нужно получить объект

var obj={
           'a' : 7,
           'b' : 2,
           'c' : 5
  }
  • Вопрос задан
  • 3280 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const obj = Object.assign({}, ...arr.map((n, i) => ({ [n]: arr2[i] })));
// или
const obj = arr.reduce((acc, n, i) => ({ ...acc, [n]: arr2[i] }), {});

или, в более общем виде:

const combine = (keys, values) =>
  keys.reduce((acc, n, i) => (acc[n] = values[i], acc), {});


const obj = combine(arr, arr2);
Ответ написан
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
_.object = function(list, values) {
    var result = {};
    for (var i = 0; i < list.length; i++) {
        result[list[i]] = values[i];
    }
    return result;
};

underscorejs.org/docs/underscore.html#section-66
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы