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是從后向前查 但是二者返回索引都是從前開始數數和計算的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM