好吧,所以我用一个愚蠢的举动阻止了自己,这个举动现在正在引起我正在使用的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的冲突在我的事业中打破了很多东西,那么我怎样才能绕过使用原型的禁止但美味的想法呢?特别是在这种情况下需要数组中的唯一值?
答案 0 :(得分:1)
避免修改本机类型原型的常用方法是静态方法:
Array.unique = function( entity ) {
// do your stuff
};
// example call
var unique = Array.unique( [1, 1, 2, 3] );
或者,更进一步,甚至做这样的事情
var Arrays = Arrays || {};
Arrays.unique = function( entity ) { /* … */ };
这样您就可以完全与内置Array
分开。