为了账号安全,请及时绑定邮箱和手机立即绑定

如何在数组中获得唯一值

如何在数组中获得唯一值

扬帆大鱼 2019-07-20 09:41:21
如何在数组中获得唯一值如何获得数组中唯一值的列表?我总是需要使用第二个数组,还是JavaScript中有类似于java的hashmap的东西?我要用JavaScript和jQuery只有。不能使用其他库。
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

这需要两个新的原型函数,containsunique

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


查看完整回答
反对 回复 2019-07-20
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

这里有一个更干净的ES6解决方案,我看到这里不包括。它使用集而扩展算子: ...

var a = [1, 1, 2];[... new Set(a)]

返回[1, 2]


查看完整回答
反对 回复 2019-07-20
  • 3 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信