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

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是从后向前查 但是二者返回索引都是从前开始数数和计算的

转自(https://www.cnblogs.com/yuobey/p/10326823.html)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值