Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript string.indexOf()和string.lastIndexOf()之间的差异?_Javascript - Fatal编程技术网

Javascript string.indexOf()和string.lastIndexOf()之间的差异?

Javascript string.indexOf()和string.lastIndexOf()之间的差异?,javascript,Javascript,JavaScript中的string.indexOf()和string.lastIndexOf()之间有什么区别 var temp = state.indexOf("tmp"); var temp = state.lastIndexOf("tmp"); 函数是匹配第一个发生,函数是匹配最后一个发生 这两个函数都用于在字符串或数组中查找索引 带有字符串的示例代码操作 var state = "abcdtmpefgtmp"; var temp =state.indexOf("tmp");

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

var temp = state.indexOf("tmp");    
var temp = state.lastIndexOf("tmp");
函数是匹配第一个发生,函数是匹配最后一个发生

这两个函数都用于在字符串数组中查找索引

带有
字符串的示例代码
操作

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
var state = ["abc", "tmp", "efg", "tmp"];
var temp =state.indexOf("tmp");
console.log(temp);
//>1
var temp = state.lastIndexOf("tmp");
console.log(temp);
//>3
带有
数组的示例代码
操作

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
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函数。这两个函数都可以应用于
字符串
以及
数组

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

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

"myname".lastIndexOf('m') //returns 4
另一方面,
lastIndexOf
返回元素匹配的最后一个索引

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

"myname".lastIndexOf('m') //returns 4
方法返回指定值在字符串中最后一次出现的位置,其中as 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

如果您有任何问题,请告诉我

来自MDN:

方法返回调用字符串中的索引 方法返回指定值最后一次出现的调用字符串对象内的索引

因此,
indexOf
将返回值的第一次出现,而
lastIndexOf
将返回值的最后一次出现

示例(从MDN复制):

如果找不到值,两个方法都返回-1

更多:

string.indexOf()方法返回字符串中指定值第一次出现的位置


string.lastIndexOf()方法返回字符串中指定值最后一次出现的位置。

它们不是纯JavaScript函数,而是本机函数。纯JavaScript函数是JavaScript本身的一个实现:)噢,thanx,我不知道这一点。有什么你不清楚的吗?我有这个问题,但我不明白,为什么我的议员们在这件事上投票反对我?