无法分配Array#filter的结果?

时间:2019-06-21 07:56:03

标签: javascript arrays reactjs object ecmascript-6

我正在尝试在数组上分配过滤器的结果。由于某种原因,它似乎无法正常工作。我想念什么?

enter image description here

编辑:

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 :(得分:0)

Chrome开发者工具在您创建的变量范围方面存在问题。如果您写let x=5,则在某个上下文中创建局部变量;如果您写x,则尝试从可能不同的位置读取变量,例如: window.x。我不确定为什么,但是有时候x会达到let x变量,但是有时候,尤其是在等待断点时,您不会-只会看到{{1} }(未定义)。

在开发工具中进行调试时的解决方法是根本不使用windows.x,而仅使用let。然后将结果分配给reservationsWithNotes=this.props.allReservations.filter(...),您只需编写window.reservationsWithNotes就可以得到结果。当然,这会污染全局名称空间,但是在调试过程中,您真的不在乎。

无论如何,它与reservationsWithNotes毫无关系。