1

How do I check if an array has same values?[a, a, a, a] //True [a,a,a,b]//False

evan
  • 59
  • 6

3 Answers3

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
  • 67,185
  • 15
  • 124
  • 181
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,200
  • 6
  • 29
  • 43
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
  • 351,820
  • 24
  • 303
  • 358