我需要在JavaScript中编写一个函数,在检查给定数组的所有值是否唯一之后返回一个布尔值。 实例
>>> A
[9, 9, 4, 3, 6]
>>> list(reversed(list(itertools.accumulate(reversed(A), max))))
[9, 9, 6, 6, 6]
答案 0 :(得分:1)
您可以比较数组的长度和始终包含uniq条目的Set的大小。
const isUnique = (arrToTest) =>
arrToTest.length === new Set(arrToTest).size
console.log(isUnique([1,1,2,3]));
console.log(isUnique([1,2,3]));
答案 1 :(得分:0)
你可以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());
&#13;
答案 2 :(得分:0)
您可以使用自定义对象
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]));