@Alekcey_s

Как отфильтровать JSON?

Добрый день друзья! Как отфильтровать данные 'stars' что бы получить сумму допустим только "stars": 3 , т.е в сумме должно получится число 6 . Общую сумму всех "stars" вывести в консоль удалось. За ранее спасибо!!!
mystars.innerHTML = `<div class="stars_state">Рейтинг - ${json.data.reduce((acc, c) => acc + c.stars/100, 0 ).toFixed(2)}</div>

"data": [
        {
            "id": 2685114,
            "stars": 5,
            "answer_text": "",
            "rate_dt": "2022-08-01T11:28:59+03:00"
        },
        {
            "id": 2685096,
            "stars": 3,
            "answer_text": "",
            "rate_dt": "2022-08-01T11:28:22+03:00"
        },
        {
            "id": 2685013,
            "stars": 5,
            "answer_text": "",
            "rate_dt": "2022-08-01T11:24:27+03:00"
        },
        {
            "id": 2684807,
            "stars": 3,
            "answer_text": "",
            "rate_dt": "2022-08-01T10:53:47+03:00"
        },
        {
            "id": 2683968,
            "stars": 1,
            "answer_text": "",
            "rate_dt": "2022-08-01T09:09:22+03:00"
        }
]
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@StiflerProger
Добавь в свой reduce условие, по которому и будешь фильтровать.
json.data.reduce((acc, c) => {
  if (c.stars !== 3) return acc;
  
  acc += c.stars;
  return acc;
}, 0);  // 6

или сокращенный вариант
test.data.reduce((acc, c) => c.stars !== 3 ? acc : acc + c.stars, 0);  // 6
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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