Так, ви можете перевірити це також за допомогою фільтра, як показано нижче, дуже просто, перевіряючи, що всі значення такі ж, як і перші:
//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