梵蒂冈之花
由于我在@Rocket的答案的注释中继续讨论这个问题,我可以提供一个不使用库的示例。这需要两个新的原型函数,contains和uniqueArray.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;}var duplicates = [1, 3, 4, 2, 1, 2, 3, 8];var uniques = duplicates.unique(); // result = [1,3,4,2,8]console.log(uniques);为了获得更高的可靠性,您可以替换contains用MDNindexOf并检查每个元素的indexOf等于-1:文献资料