string.indexOf()和string.lastIndexOf()的区别

Difference between string.indexOf() and string.lastIndexOf()?

本文关键字:string 区别 lastIndexOf indexOf      更新时间:2023-09-26

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()函数为最后一次匹配

两个函数都用于查找StringArray;

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函数。这两个功能都可以应用于StringsArrays

indexOf返回元素匹配的第一个索引。

另一方面,lastIndexOf返回元素匹配的最后一个索引。

"myname".indexOf('m') //returns 0
"myname".lastIndexOf('m') //returns 4