我的所有数组都是具有“干净”属性的对象

时间:2014-03-17 20:13:35

标签: javascript arrays

我有一个客户端javascript项目,由于某种原因,我尝试创建的每个数组都是一个带有某种“干净”参数的对象。有没有人见过这个,碰巧知道为什么会发生这种情况?

var x = [];
console.log(x);
[clean: function]

1 个答案:

答案 0 :(得分:0)

罪魁祸首是这个Wanelo Javascript文件:

//cdn-saveit.wanelo.com/bookmarklet/3/save.js

你不知道追踪是多么困难......

它向clean添加了Array函数,似乎从中删除了undefined个元素。从缩小的JavaScript:

Array.prototype.clean = function() {
    var t;        
    for(t=0; t < this.length;) 
    void 0 === this[t] && (this.splice(t,1), t--), t++;        
    return this;
}

可以这样使用:

var x = [undefined, 1, 2, undefined, 3];
console.log(x.clean());
// [ 1, 2, 3 ]