gpt4 book ai didi

使用 indexOf 的 javascript 搜索不适用于 map()

转载 作者:行者123 更新时间:2023-11-30 14:44:58 24 4
gpt4 key购买 nike

尝试使用 react 隐藏和显示列表但失败

handleChange = e => {
const { list } = this.state;

if (e.target.value !== "") {
this.setState({
list: list.map(o => ({
name: o.name,
hide: !o.name.indexOf(e.target.value) > -1
}))
})
} else {
this.setState({
list: list.map(o => ({
name: o.name,
hide: false
}))
});
}
};

有什么线索吗? https://codesandbox.io/s/8ljkoz41k2

最佳答案

让我解释一下你做错了什么

隐藏:!o.name.indexOf(e.target.value) > -1

在上面的代码中,indexOf 值将被返回(可能是一些数字)然后返回 false 因为 ! 运算符。

您正在尝试将 BOOL 值与整数 -1 进行比较,这显然会返回 false

用Brackets把你的condition包起来然后放上!如下,

隐藏:!(o.name.indexOf(e.target.value) > -1)

或者使用下面的条件,

隐藏:o.name.indexOf(e.target.value) === -1

它会起作用的。

关于使用 indexOf 的 javascript 搜索不适用于 map(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49081724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com