JS 数组位置方法 indexOf()和lastIndexOf()的理解

Posted 好感度满减

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 数组位置方法 indexOf()和lastIndexOf()的理解相关的知识,希望对你有一定的参考价值。

 var numbers = [1,3,5,7,9,4,3,2,1];
 console.log(numbers.indexOf(5)); //从数组的0位开始查找 5 位于数组里面的位置 输出2

首先 理解一下 indexOf() 是从左往右查 参数“5” 位于数组的下标 所以这里打印出 2


 

再看

 var numArr = ["hehe","sss","ddada","haha","xixi"];
 console.log(numArr.lastIndexOf("dadad")) dadad b不存在 输出-1

console.log(numArr.lastIndexOf("haha"))  输出3

为什么看起来好像跟indexOf()没什么区别呢??  我在修改一下

 var numArr = ["hehe","sss","ddada","haha","haha","xixi"]; 此时 haha有两个

我们在打印看看

console.log(numArr.lastIndexOf("haha"))  输出4

这时输出的就是4 为什么呢?

因为 lastIndexOf()是找某个字符串在数组里最后出现的哪一个的位置。


 

// var arr = [1,2,3,4,5,6,7,1]
// console.log(arr.lastIndexOf(7));//6 下标为6的位置
// lastIndexOf 是从右向左查某个指定的字符串在字符串中最后一次出现的位置(也就是从后往前查)


 

var arr = [1,2,3,4,5,6,7,1]
console.log(arr.lastIndexOf(7,4));//6 下标为6的位置

//4为查找的索引(也就是下标到4) 如数组里1,2,3,4,5 因为7不在该索引里 所以打印-1


 再看!!!

// var arr = [1,2,3,4,5,5,6,7,1];
// console.log(arr.indexOf(5));//4 下标为4的位置
// console.log(arr.lastIndexOf(5));//5
// 这个时候两个返回的索引值就不同了
// because: 前面已经说了indexOf是从前向后查 而lastIndexOf是从后向前查 但是二者返回索引都是从前开始数数和计算的










以上是关于JS 数组位置方法 indexOf()和lastIndexOf()的理解的主要内容,如果未能解决你的问题,请参考以下文章

js中的数组

Js基础-indexOf()方法的使用

JS高程5.引用类型Array类型的位置方法,迭代方法,归并方法

js数组方法——找出两数组中不相同的元素的集合

js数组的操作

js数组Array方法