@kuzubina

Как сделать проверку значений перед добавлением в массив?

Есть массив с данными, но иногда некоторые данные отсутствуют:
"statistics": [
{
"type": "Ball Possession",
"home": "66%",
"away": "34%"
},
{
"type": "Goal Attempts",
"home": "2",
"away": "1"
},
{
"type": "Shots on Goal",
"home": "0",
"away": "0"
},
{
"type": "Shots off Goal",
"home": "2",
"away": "1"
},
{
"type": "Free Kicks",
"home": "2",
"away": "2"
},
{
"type": "Corner Kicks",
"home": "0",
"away": "0"
},
{
"type": "Throw-in",
"home": "3",
"away": "1"
},
{
"type": "Goalkeeper Saves",
"home": "0",
"away": "0"
},
{
"type": "Attacks",
"home": "14",
"away": "8"
},
{
"type": "Dangerous Attacks",
"home": "11",
"away": "4"
}
]
},


С помощью такого кода обращаюсь к объектам по значению ключа type:
let yellowCard = game.statistics.find(item => item.type === "Yellow Cards");
let attacks = game.statistics.find(item => item.type === "Attacks");
let dangerousAttacks = game.statistics.find(item => item.type === "Dangerous Attacks");

                          var obj = {
                               league_name: game.league_name,
                               league_round: game.league_round,
                               home_team: game.event_home_team,
                               away_team: game.event_away_team, 
                               yellow_card_home: yellowCard.home,
                               yellow_card_away: yellowCard.away,
                               attacks_home: attacks.home,
                               attacks_away: attacks.away,
                               dangerousAttacks_home: dangerousAttacks.home,
                               dangerousAttacks_away: dangerousAttacks.away, 
                            }
                          
  file.games.push(obj)

и после формирую новый объект и добавляю в новый массив. Как сделать проверку для этих значений? Сейчас если их нет в изначальном массиве, то ломается работа скрипта, а нужно добавлять пустое значение или 0.
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
hzzzzl
@hzzzzl
let yellowCard = game.statistics.find(item => item.type === "Yellow Cards") || {};
let attacks = game.statistics.find(item => item.type === "Attacks") || {};
let dangerousAttacks = game.statistics.find(item => item.type === "Dangerous Attacks") || {};

console.log(dangerousAttacks.blabla) // undefined
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Александрия Москва
от 200 000 до 250 000 руб.
Foodtronics Москва
от 100 000 до 200 000 руб.
Алгоритмика Москва
от 120 000 до 200 000 руб.
20 авг. 2019, в 13:14
8000 руб./за проект
20 авг. 2019, в 13:02
100000 руб./за проект
20 авг. 2019, в 12:42
7000 руб./за проект