Phương thức some

Phương thức some kiểm tra các phần tử của mảng theo một hàm được truyền vào. Hàm này được truyền dưới dạng tham số của phương thức và được thực thi cho từng phần tử của mảng. Phương thức trả về true nếu ít nhất một phần tử của mảng làm cho hàm được truyền vào trả về true, ngược lại phương thức trả về false.

Bạn có thể truyền ba tham số vào hàm. Nếu các tham số này tồn tại (chúng không bắt buộc), thì tham số đầu tiên sẽ tự động nhận giá trị phần tử mảng, tham số thứ hai sẽ nhận số thứ tự của nó trong mảng (chỉ mục), và tham số thứ ba - chính là mảng đó.

Cú pháp

javascriptmảng.some(function(phần_tử, chỉ_mục, mảng) {
  
});

Ví dụ

Hãy kiểm tra xem trong mảng số có ít nhất một số dương không:

javascriptlet arr = [-1, -2, -3, 4];

let check = arr.some(function(elem) {
  if (elem >= 0) {
    return true;
  } else {
    return false;
  }
});

console.log(check);

Kết quả thực thi mã:

javascripttrue

Ví dụ

Hãy kiểm tra xem ít nhất một tích của phần tử với số thứ tự của nó có lớn hơn hoặc bằng 20 không:

javascriptlet arr = [1, 2, 3, 4, 5];

let check = arr.some(function(elem, index) {
  if (elem * index >= 20) {
    return true;
  } else {
    return false;
  }
});

console.log(check);

Kết quả thực thi mã:

javascripttrue

Ví dụ

Nếu cần, bạn có thể truyền chính mảng đó vào tham số thứ ba:

javascriptlet check = arr.some(function(elem, index, arr) {
  // mảng arr sẽ có sẵn ở đây
});

Xem thêm

  • phương thức every,
    cũng cho phép thực hiện kiểm tra mảng
  • phương thức map và forEach,
    cho phép áp dụng một hàm cho mỗi phần tử của mảng
  • phương thức reduce và reduceRight,
    gộp mảng thành một giá trị