【发布时间】:2020-01-17 19:21:05
【问题描述】:
我想映射一个设备列表,但不是每个设备,所以我需要 我的地图功能中的某种过滤器。
这是我的地图功能的样子
get activities() {
return this.props.screenProps.store.activities.map((sensor) => {
return {
id: sensor.SensorID,
type: sensor.SensorType,
timestamp: sensor.EventDate,
key: sensor.SensorType,
}
})
}
我只想返回 id 大于 5 的传感器,所以我尝试了这个 但它没有用。
get activities() {
return this.props.screenProps.store.activities.map((sensor) => {
if (sensor.SensorID => 5){
return {
id: sensor.SensorID,
type: sensor.SensorType,
timestamp: sensor.EventDate,
key: sensor.SensorType,
}
}
}
我已经阅读了减少将是要走的路,我试图让它工作,但是 没有任何成功。有什么帮助吗?
【问题讨论】:
-
reduce旨在将您的数组“减少”为一个返回值。这可能是一个元素、一个集合或任意数量的事物。虽然您可以使用reduce进行过滤,但它会强制它。最有效和最清晰的方法是使用filter然后map。如果您的回调返回true,filter将返回元素仅。map将为每次迭代返回一些东西,即使那个东西是空的。
标签: reactjs react-native jsx