@Alekcey_s

Как сделать фильтр по JSON фалу?

Добрый день друзья . Данные прилетают по API. Как отфильтровать JSON по "cell"-ячеек , что бы получить количество именно "cell" учитывая что "cell" повторяется и повторения надо посчитать как 1 -ячейка. То есть как в данном примере должно получится 3 шт.
Фильтрацию по price сделал считает общую сумму как мне нужно. А вот как посчитать количество Ячеек "cell" не понимаю. За ранее СПАСИБО!
test.innerHTML = `<div class="mytest"> ${Общая сумма '+" "+  json.data.reduce((acc, c) => acc + c.price, 0) +' '+ json.data[0].currency} </div>`;

{
    "data": [
        {  
            "delivery": "2022-07-07",
            "status": "GOODS_READY",
            "ext_barcode": "",
            "cell": 96,
            "office_destination": "",
            "price": 119,
            "info": {
                "brand": "La Fleur",
                "goods_size": "7-8",
                "no_return": false,
                "pics_cnt": 5,
                "adult": false
            },
            "status_updated": "2022-07-06T06:19:58.088621Z",
            "payment_type": "PAYMENT_BY_CASH",
            "scanned_code": "5726333177",
            "currency": "₽",
            "need_trust_sign": false,
            "trust_sign_equation": "",
            "good_decline_claim": null,
            "buyer_delivery_status": true,
            "transfer_box_id": 0
        },
        {
 
            "delivery": "2022-07-07",
            "status": "GOODS_READY",
            "ext_barcode": "",
            "cell": 96,
            "office_destination": "",
            "price": 96,
            "info": {
                "name": "Декор для одежды",
                "color": "прозрачный, светло-серый",
                "brand": "АЙРИС",
                "goods_size": "0",
                "no_return": false,
                "pics_cnt": 2,
                "adult": false
            },
           {
         "delivery":"2022-07-07",
            "status": "GOODS_READY",
            "ext_barcode": "",
            "cell": 82,
            "office_destination": "",
            "price": 612,
            "info": {
                "name": "ISO Краситель для волос i.color 60 мл",
                "color": "",
                "brand": "ISO",
                "goods_size": "0",
                "no_return": true,
                "pics_cnt": 3,
                "adult": false
            },
            {
         "delivery": "2022-07-08",
            "status": "GOODS_READY",
            "ext_barcode": "",
            "cell": 78,
            "office_destination": "",
            "price": 509,
            "info": {
                "name": "БАД",
                "color": "",
                "brand": "NaturalSupp",
                "goods_size": "0",
                "no_return": true,
                "pics_cnt": 3,
                "adult": false
        }
      ]
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
RAX7
@RAX7
const uniqueCellsCount = json.data.reduce((acc, c) => acc.add(c.cell), new Set()).size;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы