Не можете присвоить результат фильтра Array #? - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь присвоить результаты фильтра в массиве. По некоторым причинам это, кажется, не работает. Чего мне не хватает?

enter image description here

Edit:

enter image description here

Редактировать 2:

  allSegmentNotes = () => {
    let field = `${this.props.segment}Notes`
    let reservationsWithNotes = this.props.allReservations.filter(reservation => !!reservation[field] )

    return (
      reservationsWithNotes.map(
        (reservation, i) => {
          return <p key={i}>{reservation[field]}</p>
        }
      )
    )
  }

1 Ответ

0 голосов
/ 21 июня 2019

У инструментов Chrome dev есть проблемы с объемом переменных, которые вы в нем создаете.Если вы пишете let x=5, вы создаете локальную переменную в некотором контексте, а если вы пишете x, вы пытаетесь прочитать переменную, возможно, из другого места, например, window.x.Я не уверен, почему, но иногда к x вы достигнете своей переменной let x, но иногда, особенно при ожидании в точке останова, вы не будете - вы просто увидите windows.x, который не определен.

Обходной путь при отладке в инструментах разработки - вообще не использовать let, просто reservationsWithNotes=this.props.allReservations.filter(...).Тогда результат будет присвоен window.reservationsWithNotes, и вы сможете получить его, просто написав reservationsWithNotes.Конечно, это загрязняет глобальное пространство имен, но во время отладки вам все равно.

В любом случае, это определенно не имеет ничего общего с Array#filter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...