1

Тема: Допоможіть з JS

Вітаю.
маю таку проблему.
Є на вході масив обєктів

ga4_items =

[

{

item_id: “111126048”,

price: 58299,

index: 1,

quantity: 1

},

{

item_id: “111125979”,

price: 57399,

index: 2,

quantity: 1

}

];

треба з нього зробити також масив обєктів, але трохи інший (інші назви імен елементів)

такий

ecomm =

[

{

id: “111126048”,

price: 58299,

google_business_vertical: retail

},

{

id: “111125979”,

price: 57399,

google_business_vertical: retail

}

];

Щось пробую так

var ecomm;
function ecom(id, price, google_business_vertical) {
this.id = id;
this.price = price;
this.google_business_vertical = ’retail’;
}

const ga4_items =

[

{

item_id: “111126048”,

price: 58299,

index: 1,

quantity: 1

},

{

item_id: “111125979”,

price: 57399,

index: 2,

quantity: 1

}

];

ga4_items.forEach((element) => {

ecomm = ecom(element.item_id, element.price, ’retail’);
console.log(ecomm.price);
console.log(ecomm.item_id);
});

Мало би створитися два об’єкти. Але результат — Error: ecomm is undefined
Що не так?
Дякую!

2

Re: Допоможіть з JS

бо хвункцію ecom тре викликать з new
https://uk.javascript.info/constructor-new

Подякували: flatliner, leofun012

3

Re: Допоможіть з JS

І мабуть для циклу найзручніше в даному випадку було би використати метод map().

Подякували: leofun011

4

Re: Допоможіть з JS

Чому так жахливо відформатований код? ) І раджу почитати про var, let i const.

function magic(input) {
  return input.map(({ item_id: id, price }) => ({
    id,
    price,
    google_business_vertical: "retail",
  }));
}

const newArray = magic(ga4_items);

console.log(newArray);
Подякували: flatliner1

5

Re: Допоможіть з JS

new забув/загубив - зрозуміло. дякую

ще підкажіть в JS аналог var_dump, print_r як в php

6

Re: Допоможіть з JS

inline написав:

ще підкажіть в JS аналог var_dump, print_r як в php

console.log

Подякували: flatliner1

7

Re: Допоможіть з JS

inline написав:

new забув/загубив - зрозуміло. дякую

ще підкажіть в JS аналог var_dump, print_r як в php

якшо запускаєте код в браузері, то можете ставити брейкпойнти прямо в коді там, і дивитись детальніше, які змінні шо містять і все таке
https://developer.mozilla.org/uk/docs/W … s/debugger

Подякували: flatliner, leofun012