Các phương thức lặp mảng Javascript (phần 7)

every() và some()

Các phương thức every() và some() là các predicates mảng: chúng áp dụng một hàm predicate bạn chỉ ra vào các phần
tử của mảng, sau đó trả về true hay false.
Phương thức every() là như cái định lượng for all toán học ∀: nó trả về true nếu và chỉ nếu hàm predicate của bạn
trả về true cho tất cả các phần tử trong mảng:

let a = [1,2,3,4,5];
a.every(x => x < 10) // => true: all values are < 10.
a.every(x => x % 2 === 0) // => false: not all values are even.

Phương thức some() là như cái định lượng there exists toán học ∃: nó trả về true nếu ở đó tồn tại ít nhất một phần
tử trong mảng cho đó predicate trả về true và trả về false nếu và chỉ nếu predicate trả về false cho tất cả các
phần tử của mảng:

let a = [1,2,3,4,5];
a.some(x => x%2===0) // => true; a has some even numbers.
a.some(isNaN) // => false; a has no non-numbers.

Chú ý rằng cả every() và some() dừng lặp qua các phần tử mảng ngay sau khi chúng biết giá trị gì trả về. some() trả
về true lần đầu tiên predicate của bạn <code>true</code> và chỉ lặp qua toàn bộ mảng nếu predicate của bạn luôn trả
về false. every() là cái đối ngược: nó trả về false lần đầu tiên predicate của bạn trả về false và chỉ lặp qua tất
cả các phần tử nếu predicate của bạn luôn trả về true. Cũng chú ý rằng, theo thông lệ toán học, every() trả về true
và some trả về false khi được khởi động trên một mảng rỗng.

Chia sẻ