查找数组中的特定字符

iso*_*owl 4 javascript arrays indexof

假设我有一个如下所示的数组:

weather = ["sun", "clouds", "rain", "hail", "snow"]
Run Code Online (Sandbox Code Playgroud)

我想查找并显示所有包含字母“s”的字符串。这就是我认为我应该做的...

for(var i = 0; i < weather.length; i++)
{
    if(weather[i].indexOf('s') != -1)
    {
        alert(weather);
    }
}
Run Code Online (Sandbox Code Playgroud)

但这只是显示所有天气字符串的次数,与其中包含字母“s”的字符串的次数相同。(只会提示:“晴、云、雨、冰雹、雪”3次)

如何让它只提醒包含字母“s”的具体天气名称?

kar*_*ikr 6

你需要做alert(weather[i])而不是alert(weather)

检查这个小提琴


dan*_*vis 5

作为没有变量或循环的简单现代解决方案:

alert(
  ["sun", "clouds", "rain", "hail", "snow"].filter(/./.test, /i/)
)
Run Code Online (Sandbox Code Playgroud)