javascript中indexOf()和lastIndexOf()詳解


ECMAScript5為數組實例添加兩方法:indexOf()和lastIndexOf()。這兩個方法接受兩個參數:要查找的項和(可選的)表示查找起點位置的索引。其中,indexOf()方法從數組的開頭(位置0)開始向后查找,lastIndexOf()方法則從數組的末尾開始向前查找。

這兩個方法都返回要查找的項在數組中的位置,或者在沒有找到的情況下返回-1。在比較第一個參數與數組中的每一項時,會使用全等操作符;也就是說,要求查找的項必須嚴格相等(就像使用===一樣)。

indexOf()和lastIndexOf()基本用法:

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>indexOf()和lastIndexOf()</title>
 6 </head>
 7 <body>
 8 <script>
 9 var arry=[2,5,3,4,5,6,1];
10 document.write(arry.indexOf(3));
11 document.write("<br />");
12 document.write(arry.indexOf(5,2));
13 document.write("<br />");
14 document.write(arry.lastIndexOf(6));
15 document.write("<br />");
16 document.write(arry.lastIndexOf(5,3));
17 </script>
18 </body>
19 </html>

上述代碼運行結果:

2

4

5

1

使用indexOf()和lastIndexOf()方法查找特定項在數組中的位置非常簡單,支持它們的瀏覽器包括:IE9+、Firefox2+、Safari3+、Opera9.5+和Chrome。

為了能兼容其他版本的主流瀏覽器,可以按下面這樣:

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>indexOf()和lastIndexOf()</title>
 6 </head>
 7 
 8 <body>
 9 <script>
10 if(!(Array.prototype.indexOf)){
11     Array.prototype.indexOf=function(val){
12         for(var i=0;i<this.lenth;i++){
13             if(this[i]===val){
14                 return i;
15             }else{
16                 return -1;
17             }
18         }
19         
20     };    
21 }
22 var arry=[2,5,3,4,5,6,1];
23 document.write(arry.indexOf(3));
24 document.write("<br />");
25 document.write(arry.indexOf(5,2));
26 document.write("<br />");
27 document.write(arry.lastIndexOf(6));
28 document.write("<br />");
29 document.write(arry.lastIndexOf(5,3));
30 </script>
31 </body>
32 </html>

 

 


免責聲明!

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



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