javascript - 如何使用 javascript 搜索数组中的字符串而不使用正则表达式

标签 javascript

我是 Javascript 新手 请帮我解决我的问题

function myFunction() {
var fr = ["banana", "orange", "apple", "mango"];
var n = fr.length;
var s = "a";
for(i=0;i<n;i++){
  if(fr[i].indexOf(s) != -1){
     console.log(fr[i]);          
  }
 }        
}

我得到的输出是

banana
orange
apple
mango

但我想要的是它应该只打印以给定字母/单词开头的单词

i.e., : apple 

最佳答案

当您检查 index!=-1 时,基本上您是在检查 a 是否存在于字符串中的任何位置。

如果您想检查以 a 开头的字符串,您应该检查 a 是否位于 0th 索引处。

在 if 条件下检查这个

if(fr[i].indexOf(s) === 0)

这将给出预期的输出。

关于javascript - 如何使用 javascript 搜索数组中的字符串而不使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25570083/

相关文章:

javascript - 奇怪的 JavaScript 习语 - "/xyz/.test(function(){xyz;})"是做什么的?

javascript - 如何在 Google Maps V3 上触发标记的 onclick 事件?

javascript - 从电子表格公式中提取有效单元格引用的正则表达式

javascript - 更改 HTML Canvas 的分辨率

javascript - foreach 循环中的未定义值

javascript - 将数据保存到localstorage,通过innerHTML显示,如果数据中没有内容,则显示span(Visitors)的原文

javascript - 如何检测重叠元素下的点击?

javascript - 当我们将鼠标悬停在图标上时自动打开一个菜单 (ng-office-ui-fabric)

javascript - 一旦我们知道ajax加载元素的真实高度(带有图像),如何立即执行脚本?

javascript - 具有多选选项的 jQuery 过滤器