如何在不使用正则表达式的情况下使用javascript在数组中搜索字符串

How Search for a String in an array using javascript without using regular expressions

本文关键字:数组 搜索 字符串 javascript 正则表达式 情况下      更新时间:2023-09-26

我是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(fr[i].indexOf(s) === 0)

这将给出预期的输出。

之所以显示所有这些字符串,是因为所有这些字符串都包含字符"a"。如果您只想显示以字符"a"开头的字符串,Mritunjay的解决方案是

您可以使用子字符串。本例将给出字符串中的第一个字母。

 if(fr[i].indexOf(s) != -1){
     if(fr[i].substring(1, 0) === "b")
     {
         console.log("b found");
     }
 }

(记录)不区分大小写的过滤/^a/i上的数组(请参见MDN

["banana", "orange", "apple", "mango"]
  .filter( function (v) { return v[0].toLowerCase() === 'a'; } );