@v_m_smith
лучше бы я пил и курил

Каким методом превратить массив пар [key, value] в Object в JavaScript (по аналогии с Hash([[key,value]...]) в Ruby )?

Каким методом превратить массив пар [key, value] в Object в JavaScript (по аналогии с Hash([[key,value]...]) в Ruby )?
Из объекта можно получить такой массив методом .entries
А как обратно в Object?
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
function myHash(list) {
  var result = {};

  for (var i = 0; i < list.length; i++) {
    result[list[i][0]] = list[i][1];
  }

  return result;
}

console.log(myHash([['foo', 'bar'], ['baz', 42], [true, false]]));

underscorejs.org/docs/underscore.html#section-66

Или вот так:
var list = [['foo', 'bar'], ['baz', 42], [true, false]];

var result = list.reduce(function (obj, item) {
  obj[item[0]] = item[1];
  return obj;
}, {});

console.log(result);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@v_m_smith Автор вопроса
лучше бы я пил и курил
Также в lodash с помощью _.fromPairs(pairs) или _.zipObject([props=[]], [values=[]])
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы