How do I check if an array has same values?[a, a, a, a] //True [a,a,a,b]//False
Asked
Active
Viewed 369 times
3 Answers
3
Create a Set and check if the size is 1
let arr = ['a', 'a', 'a', 'a'];
console.log(new Set(arr).size === 1);
Or with a good old for loop
const arr = [1,1,1,1,2];
function allEqual(arr) {
let x = arr[0];
for (let i = 1; i < arr.length; i++) {
if (x !== arr[i]) return false;
}
return true;
}
console.log(allEqual(arr));

baao
- 71,625
- 17
- 143
- 203
0
You can use Array#every for that:
let a = [1,1,1,1,1]
let b = [1,1,1,1,2]
console.log(a.every(v => v === a[0])) // true
console.log(b.every(v => v === b[0])) // false

Luca Kiebel
- 9,790
- 7
- 29
- 44
0
You could take a traditional approach with Array#every
and the check with each element and the first element.
const same = (a, _, [b]) => a === b;
console.log(['a', 'a', 'a', 'a'].every(same));
console.log(['a', 'a', 'a', 'b'].every(same));

Nina Scholz
- 376,160
- 25
- 347
- 392