2 回答
TA贡献1793条经验 获得超6个赞
您当然可以使用循环来遍历字符串。使用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);
}
TA贡献1875条经验 获得超5个赞
这是解决它的另一种方法。在这种方法中,您仅从所需的索引进行迭代,并在找到匹配项时停止。
注意:我还重命名了该函数,以便遵循命名约定。
function findIndex(str, indexValue, startFrom=0){
for (let i = startFrom; i < str.length; i++) {
if (str[i] === indexValue) return i
}
}
console.log(findIndex('str*index*of123123E32132s', '*', 0))
console.log(findIndex('str*index*of123123E32132s', '*', 4))
return -1
如果要处理找不到匹配项的情况,可以选择在for循环之后添加一条语句。
添加回答
举报