如何在数组中获取唯一值
如何获得数组中唯一值的列表?我是否总是必须使用第二个数组,或者是否有类似于JavaScript中Java哈希表的东西?
我将仅使用 和 。不能使用其他库。
回答:
由于我在@Rocket答案的注释中继续进行了讨论,因此我不妨提供一个不使用任何库的示例。这需要两个新的原型函数,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
用MDN的indexOf
垫片代替,并检查每个元素的值indexOf
是否等于-1:文档
以上是 如何在数组中获取唯一值 的全部内容, 来源链接: utcz.com/qa/411153.html