【发布时间】:2014-04-21 18:06:08
【问题描述】:
好的,所以我用一个愚蠢的举动阻止了自己,这导致与我正在使用的 jQuery 库发生冲突,而且我应该说,在我完成阅读之后,它可能会破坏更多。无论如何,我试图使用以下位:
Array.prototype.contains = function(v) {
for(var i = 0; i < this.length; i++) {
if(this[i] === v) return true;
}
return false;
};
Array.prototype.unique = function() {
var arr = [];
for(var i = 0; i < this.length; i++) {
if(!arr.contains(this[i])) {
arr.push(this[i]);
}
}
return arr;
}
然而,为了获得数组的唯一值,这最终导致了 jQuery 的冲突,因为我的原因破坏了很多东西,那么我该如何绕过使用原型的被禁止但美味的想法呢?特别是在这种需要数组中唯一值的情况下?
【问题讨论】:
-
可以使用Underscore之类的库吗?
-
这是一种更简化的方法 - 为什么不将原型方法的名称更改为“hascontent”或“isunique”之类的名称?
-
以什么方式发生冲突?你有错误吗?你有例子吗?
-
jQuery 不会修改任何内置原型。所以这段代码不应该和它冲突。您正在观察的具体问题是什么?
-
如果你在一个数组上使用
for-in,那可能会破坏事情。但这与 jQuery 无关。这与不知道如何正确迭代数组有关。
标签: javascript jquery arrays prototype