Javascript Array indexOf() 方法

返回 Javascript Array 对象


定义

indexOf() 方法可返回数组中某个指定的元素位置。

该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。

如果在数组中没找到指定元素则返回 -1。

提示如果你想查找字符串最后出现的位置,请使用 lastIndexOf() 方法。

语法

语法如下

array.indexOf(searchElement[, fromIndex]);

参数

  • searchElement - 必需,要在数组中定位的元素。
  • fromIndex - 可选,开始搜索的索引。默认为 0,即将搜索整个数组。如果索引大于或等于数组的长度,则返回 -1。

返回值

返回找到的元素的索引。如果没有找到则返回 -1。

浏览器支持

Internet Explorer Firefox Opera Google Chrome Safari

所有主要浏览器都支持 indexOf() 方法,但是 Internet Explorer 8 及 更早IE版本不支持该方法。

示例

<html>
   <head>
      <title>JavaScript Array indexOf Method</title>
   </head>
   
   <body>   
      <script type = "text/javascript">
         if (!Array.prototype.indexOf) {
            Array.prototype.indexOf = function(elt /*, from*/) {
               var len = this.length;
               
               var from = Number(arguments[1]) || 0;
               from = (from < 0)
               ? Math.ceil(from)
               : Math.floor(from);
               
               if (from < 0)
               from += len;
               
               for (; from < len; from++) {
                  if (from in this &&
                  this[from] === elt)
                  return from;
               }
               return -1;
            };
         }
         var index = [12, 5, 8, 130, 44].indexOf(8);
         document.write("index is : " + index ); 
         
         var index = [12, 5, 8, 130, 44].indexOf(13);
         document.write("<br />index is : " + index ); 
      </script>      
   </body>
</html>

输出结果

index is : 2
index is : -1 

尝试一下


返回 Javascript Array 对象

查看笔记

扫码一下
查看教程更方便