如何在数组中获得唯一值如何获得数组中唯一值的列表?我总是需要使用第二个数组,还是JavaScript中有类似于java的hashmap的东西?我要用JavaScript和jQuery只有。不能使用其他库。
3 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
这需要两个新的原型函数,contains
和unique
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;}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
TA贡献1862条经验 获得超7个赞
这里有一个更干净的ES6解决方案,我看到这里不包括。它使用集而扩展算子: ...
var a = [1, 1, 2];[... new Set(a)]
返回[1, 2]
添加回答
举报
0/150
提交
取消