Có, bạn có thể kiểm tra nó bằng cách sử dụng bộ lọc như dưới đây, rất đơn giản, kiểm tra mọi giá trị giống như giá trị đầu tiên:
//ES6
function sameValues(arr) {
return arr.filter((v,i,a)=>v===a[0]).length === arr.length;
}
cũng có thể được thực hiện bằng cách sử dụng mọi phương thức trên mảng:
//ES6
function sameValues(arr) {
return arr.every((v,i,a)=>v===a[0]);
}
và bạn có thể kiểm tra mảng của mình như dưới đây:
sameValues(['a', 'a', 'a', 'a']); // true
sameValues(['a', 'a', 'b', 'a']); // false
Hoặc bạn có thể thêm nó vào các chức năng Mảng bản địa trong JavaScript nếu bạn sử dụng lại nhiều:
//ES6
Array.prototype.sameValues = Array.prototype.sameValues || function(){
this.every((v,i,a)=>v===a[0]);
}
và bạn có thể kiểm tra mảng của mình như dưới đây:
['a', 'a', 'a', 'a'].sameValues(); // true
['a', 'a', 'b', 'a'].sameValues(); // false