JavaScript array.indexOf()方法返回可以在数组中找到给定元素的第一个索引,如果不存在,则返回-1。
indexOf() - 语法
array.indexOf(searchElement[, fromIndex]);
searchElement - 要在数组中定位的元素。
FromIndex - 开始搜索的索引。默认值为0,即将搜索整个数组。如果索引大于或等于数组的长度,则返回-1。
indexOf() - 返回值
返回找到的元素的索引。
indexOf() - 相容性
此方法是ECMA-262标准的JavaScript扩展;因此,它可能不存在于该标准的其他实现中。要使其工作,您需要在脚本顶部添加以下代码。
if (!Array.prototype.indexOf) {
Array.prototype.indexOf=function(elt /*, from*/) {
var len=this.length;
</span><span class="kwd">var</span><span class="pln"> </span><span class="kwd">from</span><span class="pun">=</span><span class="typ">Number</span><span class="pun">(</span><span class="pln">arguments</span><span class="pun">[</span><span class="lit">1</span><span class="pun">])</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">from</span><span class="pun">=(</span><span class="kwd">from</span><span class="pln"> </span><span class="pun"><</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln">
</span><span class="pun">?</span><span class="pln"> </span><span class="typ">Math</span><span class="pun">.</span><span class="pln">ceil</span><span class="pun">(</span><span class="kwd">from</span><span class="pun">)</span><span class="pln">
</span><span class="pun">:</span><span class="pln"> </span><span class="typ">Math</span><span class="pun">.</span><span class="pln">floor</span><span class="pun">(</span><span class="kwd">from</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">from</span><span class="pln"> </span><span class="pun"><</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">from</span><span class="pln"> </span><span class="pun">+=</span><span class="pln"> len</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(;</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> </span><span class="pun"><</span><span class="pln"> len</span><span class="pun">;</span><span class="pln"> </span><span class="kwd">from</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">from</span><span class="pln"> </span><span class="kwd">in</span><span class="pln"> </span><span class="kwd">this</span><span class="pln"> </span><span class="pun">&&</span><span class="pln">amp
</span><span class="kwd">this</span><span class="pun">[</span><span class="kwd">from</span><span class="pun">]</span><span class="pln"> </span><span class="pun">===</span><span class="pln"> elt</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">from</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
};
}
indexOf() - 示例
<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