Angular с использованием карты, но игнорированием нулей - PullRequest
0 голосов
/ 05 августа 2020

У меня есть набор данных, который представляет собой массив объектов.

Это выглядит примерно так:

[
 {
  "id": 1,
  "name": "john",
  "address": { "number": 42, "street": "High Street"}
 },
 {
  "id": 2,
  "name": "jane",
  "address": Null
 },
 {
  "id": 3,
  "name": "hugh",
  "address": { "number": 64, "street": "Long Street"}
 }
]

Я пытаюсь получить список всех улиц из набора данных, выполнив что-то вроде этого:

const streets = this.dataset.map((d) => d.address.street).sort();

Однако из-за того, что адрес иногда равен нулю, я получаю ошибку cannot read property street of null.

Есть ли способ, которым я могу просто игнорировать нули при использовании карты function?

Я пробовал .filter(Boolean), но это не сработало, поскольку сам объект не нулевой.

1 Ответ

1 голос
/ 05 августа 2020

Можно фильтровать по свойству address:

this.dataset.filter(d => d.address).map(d => d.address.street).sort()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...