我写了一张地图来跟踪来自店面的值,但是当在循环中满足某些条件时,它以某种方式无法打破循环 您能否让我知道如何以响应本机的方式遍历地图以及一旦满足特定条件就如何破坏
this.setState({
showDropDown:false,
selectedOption:[{key:newId,value:selectedValue}]
})
}else{
selectedOption.filter(select=>{
if(select.key === newId){
return ( this.setState({
selectedOption:[...this.state.selectedOption,{key:newId,value:selectedValue}]
}))
}
else{
return (this.setState({
selectedOption:[...this.state.selectedOption,{key:newId,value:selectedValue}]
}))
}
})
}````
答案 0 :(得分:0)
之所以发生这种情况,是因为您是从传递给filter函数的函数内部返回的,该函数将遍历所有元素并返回那些返回true的元素。
您应该使用some函数,该函数将在返回第一个true值时停止。因此,将selectedOption.filter
替换为selectedOption.some
。