反应:在数组中查找字符串并重命名

Len*_*art 1 javascript reactjs

如果该元素包含给定的字符串,如何重命名数组的元素?

所以例如我在我的状态有一个数组:

constructor(props) {
        super(props);
        this.state = {
            array: ["stack", "overflow", "question"],
        }
}
Run Code Online (Sandbox Code Playgroud)

现在我想question用 eg替换字符串answer。所以我可以很容易地做到这一点,如果指数question始终是相同的,但我怎么能代替question用answer,如果问题总是有其他的指标?这应该以最有效的方式完成。希望任何人都可以帮助我。谢谢

Viv*_*shi 5

干得好 :

这只是一个代码片段,您也可以应用您的逻辑,为了代码的简单性,我只是比较了确切的字符串。

console.log(
        ["stack", "overflow", "question"]
        .map(str => str==="question" ? "answer" : str)
)
Run Code Online (Sandbox Code Playgroud)


在反应中,你可以像这样使用它

this.setState((state) => {
    array : state.array.map(str => str==="question" ? "answer" : str)
})
Run Code Online (Sandbox Code Playgroud)