Трансформировать массив в объект

142
17 июля 2021, 16:00

Необходимо преобразовать массив в объект

Входные данные:

[
  {"product": "name1", "price": 1000, "amount": 3},
  {"product": "name2", "price": 1200, "amount": 5}
]

Желаемый результат:

{
  "name1": {"price": 1000, "amount": 3},
  "name2": {"price": 1200, "amount": 5}
 }
Answer 1

const data = [ 
  {"product":"name1","price":1000,"amount":3}, 
  {"product":"name2","price":1200,"amount":5} 
]; 
 
const result = data.reduce((acc, el) => { 
  acc[el.product] = { 
    price: el.price, 
    amount: el.amount, 
  }; 
   
  return acc; 
}, {}); 
 
console.log(result);

Полезные ссылки
Array.prototype.reduce

READ ALSO
Вызвать html проверку поля js

Вызвать html проверку поля js

Подскажите пожалуйста, можно ли как то вызвать проверку поля на заполненность required (пример ниже) с помощью js для отправки ajax запроса без <form>

199
Получить все картинки из Canvas

Получить все картинки из Canvas

Есть сайт-казино, реализованный с помощью canvasКак можно получить все картинки, используемые этим canvas'ом? Простите, что без кода, т

79
Анимация на JS. Эффект курсора мышки

Анимация на JS. Эффект курсора мышки

Всем здравствуйтеПодскажите пожалуйста, как можно сделать такую анимацию на сайте, как на скриншоте: http://prntscr

123
Как избежать цикла в цикле?

Как избежать цикла в цикле?

Разрабатываю, казалось бы, простую вещь, как электронное расписание парЦель: при выборе верхней/нижней недели - скрывать соответствующие...

295