Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串的索引_Javascript_Loops - Fatal编程技术网

Javascript 字符串的索引

Javascript 字符串的索引,javascript,loops,Javascript,Loops,我需要一个像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

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)

我想要
('str*index*123e2132s','*',0)的输出
成为
3

我想要
的输出('str*index*of123e2132s','*',4)

作为
9

您当然可以使用循环来迭代字符串。使用循环

无环

其语法:

str.indexOf(searchValue[,fromIndex])

第二个参数的说明:

一个整数,表示开始搜索的索引;默认值为0。对于小于0或大于str.length的fromIndex值,搜索分别从索引0和str.length开始

如您所见,indexOf接受第二个参数,允许您告诉它从何处搜索

你可以这样使用它

function Findindex(str, indexValue, startFrom){
   return str.indexOf(indexValue,startFrom);
}

这里有另一种解决方法。在这种方法中,您只需要从所需的索引进行迭代,并在找到匹配项时停止

注意:我还重命名了该函数,以便遵循命名约定

函数findIndex(str,indexValue,startFrom=0){ for(设i=startFrom;iconsole.log(findIndex('str*index*123E32132s','*',4))
到目前为止您尝试了什么?到目前为止,
返回str.indexOf(indexValue,startFrom)
?你是认真的吗?@JaromandaX我需要使用loopwhat循环返回值-一个函数只能返回一个值,所以不确定循环与它有什么关系-也许如果你展示了一些看起来像是试图解决问题的代码
function Findindex(str, indexValue, startFrom){
  let i = 0;
  for(const char of str){
    if(!(i>=startFrom)){
      i++;
      continue;
    }
    if(char==indexValue) return i;
    i++;
  }
}
function Findindex(str, indexValue, startFrom){
   return str.indexOf(indexValue,startFrom);
}