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

如何在数组中获得唯一值

如何在数组中获得唯一值

UYOU 2019-08-02 16:02:36
如何在数组中获得唯一值如何获得数组中唯一值的列表?我总是需要使用第二个数组,还是JavaScript中有类似于java的hashmap的东西?我要用JavaScript和jQuery只有。不能使用其他库。
查看完整描述

3 回答

?
梵蒂冈之花

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

由于我在@Rocket的答案的注释中继续讨论这个问题,我可以提供一个不使用库的示例。这需要两个新的原型函数,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-08-03
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

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

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

返回[1, 2]



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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号