JavaScript中string.indexOf()
和string.lastIndexOf()
之间有什么区别?
var temp = state.indexOf("tmp");
var temp = state.lastIndexOf("tmp");
答案 0 :(得分:10)
来自MDN:
indexOf()方法返回调用String中的索引 第一次出现指定值的对象,lastIndexOf()方法返回最后一次出现的指定值的调用String对象中的索引
因此indexOf
将返回第一次出现的值,lastIndexOf
将返回值的最后一次出现。
示例(从MDN复制):
var anyString = "Brave new world";
var a = anyString.indexOf("w")); // result = 8
var b = anyString.lastIndexOf("w")); // result 10
如果找不到值,则两个方法都返回-1
更多:
答案 1 :(得分:5)
string.indexOf()方法返回字符串中第一次出现指定值的位置。
string.lastIndexOf()方法返回字符串中最后一次出现指定值的位置。
答案 2 :(得分:3)
indexOf()
函数匹配首次出现,LastindexOf()
函数匹配上次出现
这两个功能都用于在字符串或数组中查找索引;
带有String
操作的示例代码
var state = "abcdtmpefgtmp";
var temp =state.indexOf("tmp"); //match first occurance
console.log(temp);
//>4
var temp =state.lastIndexOf("tmp"); //match last occurance
console.log(temp);
//>10
带有Array
操作的示例代码
var state = ["abc", "tmp", "efg", "tmp"];
var temp =state.indexOf("tmp");
console.log(temp);
//>1
var temp = state.lastIndexOf("tmp");
console.log(temp);
//>3
答案 3 :(得分:3)
lastIndexOf()方法返回字符串中最后一次出现指定值的位置,其中indexOf()返回字符串中第一次出现指定值的位置。
在以下示例中:
function myFunction() {
var str = "Hello planet earth, you are a great planet.";
var n = str.lastIndexOf("planet");
var n2 = str.indexOf("planet");
}
n
将返回36
并且n2
将返回6
如果您有任何疑问,请与我们联系!
答案 4 :(得分:0)
基本上indexOf
& lastIndexOf
是本机javascript函数。这两个功能都可以应用于Strings
以及Arrays
。
indexOf
返回元素匹配的第一个索引。
另一方面,lastIndexOf
返回元素匹配的最后一个索引。
"myname".indexOf('m') //returns 0
"myname".lastIndexOf('m') //returns 4