Да, вы можете проверить его также с помощью фильтра, как показано ниже, очень просто, проверяя каждые значения такие же, как и первый:
//ES6
function sameValues(arr) {
return arr.filter((v,i,a)=>v===a[0]).length === arr.length;
}
также может быть сделано с помощью каждого метода на массив:
//ES6
function sameValues(arr) {
return arr.every((v,i,a)=>v===a[0]);
}
и вы можете проверить свои массивы, как показано ниже:
sameValues(['a', 'a', 'a', 'a']); // true
sameValues(['a', 'a', 'b', 'a']); // false
Или вы можете добавить его в нативный массиве функциональных возможностей в JavaScript, если вы повторно использовать его много:
//ES6
Array.prototype.sameValues = Array.prototype.sameValues || function(){
this.every((v,i,a)=>v===a[0]);
}
и вы можете проверить свои массивы, как показано ниже:
['a', 'a', 'a', 'a'].sameValues(); // true
['a', 'a', 'b', 'a'].sameValues(); // false
@ T.J.Crowder я уверен, вы уже думать о лучшем решении;) – VisioN
@ T.J.Crowder: Не говоря уже о готовности аскеров на самом деле принимать ответы. Пользователям с 1 реком часто кажется, что задают и запускают типы, которые уходят, как только у них есть ответ на вставку-вставку, в последнее время. – Cerbrus
Очень правильные вещи, которые вы здесь говорите. Но stackoverflow очень уязвим для простых вопросов. Просто проверьте верхнюю страницу голосов. –