JavaScript 数组Array-index()方法

时间:2019-08-20 13:50:49  来源:igfitidea点击:

说明

JavaScript array index()方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1.

语法

array.indexOf(searchElement[, fromIndex]);

参数明细

searchElement−要在数组中定位的元素。

fromIndex—开始搜索的索引。默认为0,即搜索整个数组。如果索引大于或等于数组的长度,则返回-1.

返回值

返回找到的元素的索引。

兼容性

此方法是ECMA-262标准的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 &&amp
         this[from] === elt)
         return from;
      }
      return -1;
   };
}

示例

var array = [2, 4, 8, 4, 16, 4, 32];
console.log(array.indexOf());      // -1
console.log(array.indexOf(3));     // -1
console.log(array.indexOf(4));     // 1
console.log(array.indexOf(4, 2));  // 3