[英]How to check if all values of a given array are unique [duplicate]
我需要在 JavaScript 中编写一个函数,它会在检查给定数组的所有值是否唯一后返回一个布尔值。 例子
[1,2,3,4] true
[1,2,1,4] false, since the array has value '1' twice
您比较数组的长度和始终包含 uniq 条目的 Set 的大小。
const isUnique = (arrToTest) => arrToTest.length === new Set(arrToTest).size console.log(isUnique([1,1,2,3])); console.log(isUnique([1,2,3]));
您可以sort
每个兄弟姐妹进行sort
和检查。
var array1 = [1,2,3,4]; var array2 = [1,2,1,4]; function decorate(array) { array.uniques = function() { this.sort(); for (var i = 0; i < this.length; i++) { if (this[i + 1] === this.length) return true; if (this[i] === this[i + 1]) return false; } } } decorate(array1); decorate(array2); console.log(array1.uniques()); console.log(array2.uniques());
您可以使用自定义对象
function checkUnique(array)
{ var i,obj={};
for(i=0;i<array.length;i++)
{ if(obj[array[i]])
return false;
obj[array[i]]=true;
}
return true;
}
console.log(checkUnique([1,2,3,4]));
console.log(checkUnique([1,2,1,4]));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.