squadbrodyaga
@squadbrodyaga
帆は風を変えた

Как сделать показ ключа из массива необязательным?

Здравствуйте, у меня такая ситуация, вообщем мне нужно вернуть имя игрока, но оно не всегда есть, поэтому в консоль показывает ошибку и функция останавливается.
function findInArray(Y, X) {
   // Вот я ищу нужный объект в массиве по ключам Y и X. Мне нужно получить ключ player,
   // но поскольку он есть не всегда, то выводит ошибку, как сделать, чтобы при его отсутствии 
   // код продолжал работу?
   return allСlicks.find(k => k.Y == Y && k.X == X).player;
}

// примерно вот так выглядит массив:
[
0: {Y: 1, X: 1, player: "✖"}
1: {Y: 2, X: 5, player: "⚪"}
2: ...
]
  • Вопрос задан
  • 136 просмотров
Решения вопроса 3
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Morpheus_God
@Morpheus_God
Если мне не изменяет память, то find в случае неудачи вернет undefined.
Можете сделать проверку на undefined, обработать случай ошибки и код должен работать дальше.
Как вариант
Ответ написан
webdisigner
@webdisigner
function findInArray(Y, X) {
  return allClicks.find(k => k.Y == Y && k.X == X)?.player || 'игрок не найден';
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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