Tak, możesz to sprawdzić również za pomocą filtra, jak poniżej, bardzo proste, sprawdzanie, czy wszystkie wartości są takie same jak pierwsza:
//ES6
function sameValues(arr) {
return arr.filter((v,i,a)=>v===a[0]).length === arr.length;
}
Można to również zrobić za pomocą każdej metody w tablicy:
//ES6
function sameValues(arr) {
return arr.every((v,i,a)=>v===a[0]);
}
i możesz sprawdzić swoje tablice, jak poniżej:
sameValues(['a', 'a', 'a', 'a']); // true
sameValues(['a', 'a', 'b', 'a']); // false
Możesz też dodać go do natywnych funkcji Array w JavaScript, jeśli często go użyjesz:
//ES6
Array.prototype.sameValues = Array.prototype.sameValues || function(){
this.every((v,i,a)=>v===a[0]);
}
i możesz sprawdzić swoje tablice, jak poniżej:
['a', 'a', 'a', 'a'].sameValues(); // true
['a', 'a', 'b', 'a'].sameValues(); // false