如何在数组中获得唯一值

如何在数组中获得唯一值

如何获得数组中唯一值的列表?我总是需要使用第二个数组,还是JavaScript中有类似于java的hashmap的东西?

我要用JavaScriptjQuery只有。不能使用其他库。


扬帆大鱼
浏览 541回答 3
3回答

慕斯709654

这需要两个新的原型函数,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

牧羊人nacy

这里有一个更干净的ES6解决方案,我看到这里不包括。它使用集而扩展算子: ...var a = [1, 1, 2];[... new Set(a)]返回[1, 2]
打开App,查看更多内容
随时随地看视频慕课网APP