string.indexOf()和string.lastIndexOf()之间的区别?

时间:2014-08-18 05:26:49

标签: javascript

JavaScript中string.indexOf()string.lastIndexOf()之间有什么区别?

var temp = state.indexOf("tmp");    
var temp = state.lastIndexOf("tmp");

5 个答案:

答案 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