JavaScript中string.indexOf()
和string.lastIndexOf()
的区别是什么?
var temp = state.indexOf("tmp");
var temp = state.lastIndexOf("tmp");
From 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
更多:
- indexOf
- lastIndexOf
string. indexof()方法返回指定值在字符串中第一次出现的位置。
string. lastindexof()方法返回指定值在字符串中最后出现的位置。
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
如果你有任何问题请告诉我!
indexOf()
函数为第一次匹配,LastindexOf()
函数为最后一次匹配
两个函数都用于查找String或Array;
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
基本上是indexOf
&lastIndexOf
是原生javascript函数。这两个功能都可以应用于Strings
和Arrays
。
indexOf
返回元素匹配的第一个索引。
另一方面,lastIndexOf
返回元素匹配的最后一个索引。
"myname".indexOf('m') //returns 0
"myname".lastIndexOf('m') //returns 4