这里是手头的任务:
“编写一个名为stringLastIndexOf的函数,该函数接受两个字符串:第一个是单词,第二个是单个字符。
该函数应返回该字符存在的最后一个索引;如果找不到该字符,则返回-1。
请勿使用内置的String.lastIndexOf()函数!“
我特别在为最终要求而苦苦挣扎,这是为了让我的函数返回str2字符所在位置的确切位置。我该怎么做才能解决不使用lastindexof函数执行此操作的问题?
function stringLastIndexOf(str1, str2) {
var pos = str1.includes(str2, -1);
if (pos !== true) {
return -1;
} else {
return str2.position();
}
}
console.log(
stringLastIndexOf('word', 'w'),
stringLastIndexOf('pumped', 'f')
);
如果首先反转字符串,则可以使用indexOf
而不是lastIndexOf
:
function stringLastIndexOf(str, c) {
return str.split("").reverse().join("").indexOf(c);
}
请注意,通过使用split
将字符串转换为数组,然后反转该数组,然后使用join
将其重新连接为字符串,可以反转字符串。
这将起作用-:
function lastIndexOf(str, char){
return str.length - str.split("").reverse().indexOf(char)-1
}