当前位置: 首页 > 面试题库 >

如何在数组中获取唯一值

云鸿祯
2023-03-14
问题内容

如何获得数组中唯一值的列表?我是否总是必须使用第二个数组,或者是否有类似于JavaScript中Java哈希表的东西?

我将仅使用 JavaScriptjQuery 。不能使用其他库。


问题答案:

由于我在@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:文档



 类似资料:
  • 问题内容: 我和这里的问题差不多。 我有一个包含等的数组。现在,我想从该数组中选择所有唯一元素。思想,这将是简单的用或因为他们在其他问题中提到,但没有在数组中改变…的代码是: 我究竟做错了什么? 问题答案: 有点hacky,但是应该这样做: 要将排序后的唯一结果保存回数组,请执行数组分配: 如果您的外壳支持herestrings(应该),则可以通过将其更改为以下内容来节省进程: 输入: 输出: 说

  • 问题内容: 我已经做了很多关于溢出和谷歌的环顾工作,但是对于我的具体情况,结果都不起作用。 我有一个名为$ holder的占位符数组,值如下: 我正在尝试从此多维数组中提取不同/唯一的值。我想要的最终结果是一个包含(13,121)的变量,或者是(最好是)一个如下数组:Array([0] => 13 [1] => 121) 再次,我尝试了序列化等,但是当在每个数组中使用单个键进行操作时,我不太了解它

  • 我有以下数组 我想从这个数组中得到唯一的值。所以我希望我的结果是这样的 我使用了数组唯一函数,但无法得到结果 如果我有两个索引,这是有效的,但是对于多个索引呢?

  • 问题内容: 我有一个像这样的数组: 如何删除重复的值,以便得到此信息: 我尝试使用array_unique,但是我认为由于该数组是多维的,因此无法正常工作。 编辑:我还需要此数组是多维的,并且以这种格式,我不能展平它。 问题答案: 在比较值以查找唯一值之前正在使用字符串转换: 注意 :当且仅当时,两个元素才被视为相等。换句话说:当字符串表示相同时。将使用第一个元素。 但是数组将始终转换为: 您可以

  • 本文向大家介绍在一个MongoDB文档中获取两个数组中的唯一值,包括了在一个MongoDB文档中获取两个数组中的唯一值的使用技巧和注意事项,需要的朋友参考一下 要在文档的两个数组中获取唯一值,请在aggregate()中使用$setUnion。的$setUnion采用两个或多个阵列,并返回包含出现在任何输入数组元素的数组。 让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有

  • 有没有人知道我可以在我的DMN中的哪里使用上面的功能。我试着在我的决定的“表达”选项卡上写感觉。