Javascript &引用;indexOf";作为“中数组的键”;对于在;IE8中的cicle

Javascript &引用;indexOf";作为“中数组的键”;对于在;IE8中的cicle,javascript,internet-explorer,internet-explorer-8,prototype,ecmascript-5,Javascript,Internet Explorer,Internet Explorer 8,Prototype,Ecmascript 5,我使用了描述的代码,但现在,当我执行“for…in…”循环时,它会得到函数“indexOf”作为数组的索引位置 示例代码: var the_array=new Array(); for (key in the_array){ console.log(key +" - "+the_array[key]); } 此代码在控制台中显示: indexOf - function (searchElement /*, fromIndex */ ) {

我使用了描述的代码,但现在,当我执行“for…in…”循环时,它会得到函数“indexOf”作为数组的索引位置

示例代码:

var the_array=new Array();                  
for (key in the_array){
    console.log(key +"  -  "+the_array[key]);
} 
此代码在控制台中显示:

indexOf  -  function (searchElement /*, fromIndex */ ) {  
    "use strict";  
    if (this == null) {  
       throw new TypeError();  
    }  
    var t = Object(this);  
    var len = t.length >>> 0;  
    if (len === 0) {  
        return -1;  
    }  
    var n = 0;  
    if (arguments.length > 0) {  
        n = Number(arguments[1]);  
        if (n != n) { // shortcut for verifying if it's NaN  
            n = 0;  
        } else if (n != 0 && n != Infinity && n != -Infinity) {  
            n = (n > 0 || -1) * Math.floor(Math.abs(n));  
        }  
    }  
    if (n >= len) {  
        return -1;  
    }  
    var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);  
    for (; k < len; k++) {  
        if (k in t && t[k] === searchElement) {  
            return k;  
        }  
    }  
    return -1;  
}
indexOf-函数(searchElement/*,fromIndex*/){
“严格使用”;
如果(this==null){
抛出新的TypeError();
}  
var t=对象(本);
var len=t.length>>>0;
如果(len==0){
返回-1;
}  
var n=0;
如果(arguments.length>0){
n=数量(参数[1]);
if(n!=n){//验证是否为NaN的快捷方式
n=0;
}如果(n!=0&&n!=无穷大&&n!=-无穷大){
n=(n>0 | |-1)*数学地板(数学abs(n));
}  
}  
如果(n>=len){
返回-1;
}  
var k=n>=0?n:Math.max(len-Math.abs(n),0);
对于(;k
如何防止函数在数组中显示为键


顺便说一句,我知道我可以使用jquery的inArray函数,但是,在这种情况下,我想使用“indexOf”函数…

在数组上使用
for…in
是一个坏主意,因为这样和其他原因。请看我的回答:


IE8上是否存在indexOf?因为我遇到了麻烦,我不得不为我的一个项目找到一个indexOf函数(并在我的JS上定义它)。它不存在,我也添加了它。问题是我在整个项目中使用了一些“for…in”循环,现在它们返回了数组的键和原型属性。。。