Ja, Sie können es auch mit dem folgenden Filter überprüfen, ganz einfach, indem Sie überprüfen, ob alle Werte mit denen des ersten identisch sind:
//ES6
function sameValues(arr) {
return arr.filter((v,i,a)=>v===a[0]).length === arr.length;
}
kann auch mit jeder Methode auf dem Array durchgeführt werden:
//ES6
function sameValues(arr) {
return arr.every((v,i,a)=>v===a[0]);
}
und Sie können Ihre Arrays wie folgt überprüfen:
sameValues(['a', 'a', 'a', 'a']); // true
sameValues(['a', 'a', 'b', 'a']); // false
Oder Sie können es nativen Array-Funktionen in JavaScript hinzufügen, wenn Sie es häufig wiederverwenden:
//ES6
Array.prototype.sameValues = Array.prototype.sameValues || function(){
this.every((v,i,a)=>v===a[0]);
}
und Sie können Ihre Arrays wie folgt überprüfen:
['a', 'a', 'a', 'a'].sameValues(); // true
['a', 'a', 'b', 'a'].sameValues(); // false