Sí, puede verificarlo también usando el filtro como se muestra a continuación, muy simple, verificando que todos los valores sean los mismos que el primero:
//ES6
function sameValues(arr) {
return arr.filter((v,i,a)=>v===a[0]).length === arr.length;
}
También se puede hacer usando todos los métodos de la matriz:
//ES6
function sameValues(arr) {
return arr.every((v,i,a)=>v===a[0]);
}
y puede verificar sus matrices como a continuación:
sameValues(['a', 'a', 'a', 'a']); // true
sameValues(['a', 'a', 'b', 'a']); // false
O puede agregarlo a las funcionalidades de matriz nativas en JavaScript si lo reutiliza mucho:
//ES6
Array.prototype.sameValues = Array.prototype.sameValues || function(){
this.every((v,i,a)=>v===a[0]);
}
y puede verificar sus matrices como a continuación:
['a', 'a', 'a', 'a'].sameValues(); // true
['a', 'a', 'b', 'a'].sameValues(); // false