Как преобразовать массив для использования в 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)

→ Ссылка