我有一个问题。我已经为扩展数组元素编写了代码,并且工作正常,但是当我遍历数组时,它显示了扩展函数。我不知道如何阻止这个。 有代码...
Array.prototype.remove = function(e) {var i = this.inArray(e);if(i != -1) this.splice(i, 1);return this;};
Array.prototype.add = function(e) {this.push(e); return e;};
Array.prototype.inArray = function(v) {for(i in this) if(v==this[i])return i;return false;};
Array.prototype.toggle = function(v) {this.inArray(v) ? this.remove(v) : this.add(v);return this;};
所以当我尝试这个...
var arr = [1,2,3,4,5];
for(i in arr)
document.write(arr[i]);
此打印数组值和函数扩展。有人可以帮助我吗?我无法更改代码“for(x in y)”,因为它在许多文件中多次出现。
最佳答案
一些可以解释情况的阅读 Material
https://developer.mozilla.org/en/JavaScript/Reference/Statements/for...in
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/hasOwnProperty
在遍历数组时使用 .forEach()。它得到了很好的支持,包括 Mobile Safari 和 Android, https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach
关于javascript - 扩展数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7072043/