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;i console.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);
}