Как преобразовать массив для использования в json
Пожалуйста, подскажите, как массив вида
goods: [ Object({ id: 1, title: 'Пицца', count: 2, price: '500.00' }) ]
преобразовать в вид
goods: [ Object({ title: 'Пицца', count: 2 }) ]
для дальнейшего формирования Json?
Пытаюсь циклом пройти
function sendRequest(name, phone, address, goods, sum)
{
let data = {
client: name + " " + phone,
goods: [],
order: {address: "ул. " + address.street + ", дом " + address.house + ", " + address.entrance + " подъезд, " + address.floor + " этаж, кв." + address.flat,
sum: sum},
};
for(let i = 0; i <= goods.length; i++){
data.goods.push(goods[i]["title", "count"]);
}
let jsonData = JSON.stringify(data);
return jsonData;
}
Но ругаются автотесты "TypeError: Cannot read properties of undefined (reading 'count')".
Где я накосячила?
Заранее огромное спасибо
Ответы (1 шт):
Автор решения: Pavel Nazarian
→ Ссылка
У метода stringify есть параметр replacer, с его помощью в том числе можно указать какие ключи включать в json.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#using_an_array_as_replacer
let obj = {
goods:
[
{ id: 1, title: 'Пицца', count: 2, price: '500.00' },
{ id: 2, title: 'Хотдог', count: 3, price: '200.00' }
]
}
let json = JSON.stringify(obj,['goods','title','count'])
console.log(json)