@Kipsi

Как можно объединить массив с объектами в 1 объект?

Здравствуйте. Подскажите пожалуйста. Возможно ли как нибудь сделать так, что есть массив с объектами
const price = [
 {ad: 10},
 {ad: 23}, 
 {ad: 5}, 
 {ad: 2}, 
 {ad: 17}
]

и можно ли как нибудь объекты вытащить из массива и все объединить в 1 объект и добавить ключам при этом уникальные цифры в конце. Например что бы так получилось в итоге
const price = {
  ad0: 10,
  ad1: 23, 
  ad2: 5, 
  ad3: 2, 
  ad4: 17
 }
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const priceObj = Object.fromEntries(price.map((n, i) => [ `ad${i}`, n.ad ]));

или

const priceObj = price
  .map(Object.entries)
  .reduce((acc, [[ k, v ]], i) => (acc[k + i] = v, acc), {});

или

const priceObj = {};
for (const [ i, n ] of price.entries()) {
  for (const k in n) {
    priceObj[k.concat(i)] = n[k];
    break;
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alams_stoyne
@alams_stoyne
Full Stack Developer - #PHP #CSS #JS #DB
const price = [
 {ad: 10},
 {ad: 23}, 
 {ad: 5}, 
 {ad: 2}, 
 {ad: 17}
];

let new_price = price.map( (x,key) => [ Object.keys(x)[0]+key, Object.values(x)[0] ] );
Ответ написан
Ваш ответ на вопрос

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

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