Sim, você também pode verificá-lo usando o filtro abaixo, muito simples, verificando todos os valores iguais aos do primeiro:
//ES6
function sameValues(arr) {
return arr.filter((v,i,a)=>v===a[0]).length === arr.length;
}
Também pode ser feito usando todos os métodos na matriz:
//ES6
function sameValues(arr) {
return arr.every((v,i,a)=>v===a[0]);
}
e você pode verificar suas matrizes como abaixo:
sameValues(['a', 'a', 'a', 'a']); // true
sameValues(['a', 'a', 'b', 'a']); // false
Ou você pode adicioná-lo às funcionalidades nativas de Array em JavaScript, se você o reutilizar muito:
//ES6
Array.prototype.sameValues = Array.prototype.sameValues || function(){
this.every((v,i,a)=>v===a[0]);
}
e você pode verificar suas matrizes como abaixo:
['a', 'a', 'a', 'a'].sameValues(); // true
['a', 'a', 'b', 'a'].sameValues(); // false