ddimonn8080
@ddimonn8080

Как с помощью .map() превратить массив объектов в объект?

Здравствуйте. Как из массива объектов сделать массив значений?
Исходный массив

var arrayMy = [
  {id:1,ss:'d',kk:'c'},
  {id:2,ss:'v',kk:'c'},
];

Нужно получить что-то наподобие
var arrayMy = {
  1:{id:1,ss:'d',kk:'c'},
  2:{id:2,ss:'v',kk:'c'},
};

то есть 1, 2 это id и по id будет доступ к нужному объекту

Интересно в первую очередь сделать это с помощью .map()

Спасибо
  • Вопрос задан
  • 559 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Интересно в первую очередь сделать это с помощью .map()

Никак. Используйте reduce и по-хорошему объект или Map.
var array = [
  { id: 1 },
  { id: 2 },
];

const obj = array.reduce((acc, el) => (acc[el.id] = el, acc), {});

console.log(obj); // { 1: { id: 1 }, 2: { id: 2 } }
console.log(obj[1]); // { id: 1 }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@senior65
В вашем коде присутствуют синтаксические ошибки, но все же, вы это имели в виду?
var arr = [
{'foo':'bar'},
{'fii':'faa'}
];
var func = arr.map(function(i) {
  	return [i];
});
console.log(func[0]); //Вернет первый обьект
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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