字符串索引

我需要一个像 IndexOf


var str = "test*index*ofAnyChar";

  console.log(str.indexOf("*", 5)); // output will be 10


var str = "test*index*ofAnyChar";

  console.log(str.indexOf("*", 0)); // output will be 4

获取字符串,indexvalue,startfrom并以内置函数以外的其他方式返回值 return str.indexOf(indexValue,startFrom)


function Findindex(str, indexValue, startFrom){


      }

我希望的输出('str*index*of123123E32132s', '*', 0) 是3



我希望的输出('str*index*of123123E32132s', '*', 4) 是9


30秒到达战场
浏览 175回答 2
2回答

摇曳的蔷薇

您当然可以使用循环来遍历字符串。使用for...of循环。function Findindex(str, indexValue, startFrom){  let i = 0;  for(const char of str){    if(!(i>=startFrom)){      i++;      continue;    }    if(char==indexValue) return i;    i++;  }}无循环String.prototype.indexOf它的语法:str.indexOf(searchValue [,fromIndex])第二个参数的描述:一个整数,表示开始搜索的索引;默认值为0。对于fromIndex值小于0或大于str.length的搜索,分别从索引0和str.length开始。如您所见,indexOf带有第二个参数,可让您告诉它从何处搜索。你可以这样使用function Findindex(str, indexValue, startFrom){   return str.indexOf(indexValue,startFrom);}

慕田峪4524236

这是解决它的另一种方法。在这种方法中,您仅从所需的索引进行迭代,并在找到匹配项时停止。注意:我还重命名了该函数,以便遵循命名约定。function findIndex(str, indexValue, startFrom=0){&nbsp; for (let i = startFrom; i < str.length; i++) {&nbsp; &nbsp; if (str[i] === indexValue) return i&nbsp; }}console.log(findIndex('str*index*of123123E32132s', '*', 0))console.log(findIndex('str*index*of123123E32132s', '*', 4))return -1如果要处理找不到匹配项的情况,可以选择在for循环之后添加一条语句。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript