Hi 🤓 Cảm ơn bạn đã ghé thăm blog này, nếu những bài viết trên blog giúp ích cho bạn. Bạn có thể giúp blog hiển thị quảng cáo bằng cách tạm ngừng ad blocker 😫 và để giúp blog duy trì hoạt động nếu bạn muốn.
Cảm ơn bạn!

Trong bài viết này chúng ta sẽ tìm hiểu về method some() trong JavaScript, method này giúp kiểm tra các phần tử của mảng có thỏa mãn điều kiện đưa ra hay không.

method some trong Javascript là gì?

Method này sẽ trả về true nếu trong mảng có một phần tử thỏa điều kiện, ngược lại nó trả về false. Method some() không sửa đổi mảng.

Cùng xem qua các ví dụ dưới đây để hiểu rõ hơn về some() trong Javascript nhé:

Ví dụ:

Kiểm tra trong mảng có chứa phần tử nhỏ hơn 6. Với cách làm sử dụng vòng lặp for thông thường chúng ta sẽ làm như sau:

let marks = [ 4, 5, 6, 9, 10 ];
let lessThanSix = false;

for (let i = 0; i < marks.length; i++) {
    if (marks[i] < 6) {
        lessThanSix = true;
        break;
    }
}

console.log(lessThanSix); // true

Code trên khá dài dòng bây giờ chúng ta sẽ thử sử dụng method some():

let marks = [ 4, 5, 6, 9, 10 ];

let lessThanSix = marks.some(e => e < 6);

console.log(lessThanSix); // true

Như các bạn thấy, khi sử dụng some() code nhìn thoáng và gọn, kết quả trả về true vì hàm callback có nhiệm vụ kiểm tra giá trị trong mảng có nhỏ hơn 6 hay không, nếu thỏa mãn sẽ kết thúc luôn vòng lặp và trả về true.

Cú pháp của some trong javascript

Method some() chấp nhận 2 tham số truyền vào:

array.some(callback[, thisArg]);

The callback argument:

some() thực thi hàm callback một lần với mỗi phần tử trong mảng cho đến khi nó tìm thấy phần tử thỏa mãn yêu cầu, method some() ngay lập tức trả về true mà không duyệt các phần tử còn lại.

Nếu không có phần tử nào thỏa mãn, method này trả về false.

Hàm callback nhận ba đối số:

function callback(currentElement [[, currentIndex], array]){ // ...}
  • currentElement là phần tử hiện tại đang được xử lý trong mảng.
  • currentIndex là chỉ số của phần tử hiện tại đang được xử lý trong mảng.
  • array là mảng mà some() đã gọi.

The thisArg argument:

thisArg là đối số tùy chọn. Nếu bạn truyền thisArg vào method, bạn có thể sử dụng thisArg làm giá trị this bên trong hàm callback, nếu không truyền thì this trong callback là undefined.

Ví dụ về some() trong JavaScript

Ví dụ: Kiểm tra xem một phần tử có tồn tại trong mảng hay không

function exists(value, array) {
    return array.some(e => e === value);
}

let marks = [100,200,300,500];

console.log(exists(100, marks)); // true
console.log(exists(550, marks)); // false

Ví dụ: Kiểm tra tồn tại object theo key thỏa mãn điều kiện hay không.

const rappers = [
  {name:'eminem', born:'1972'},
  {name:'tupac', born:'1971'},
];

const existed = rappers.some(e => e.name === 'eminem');
console.log(existed);

Ví dụ: Kiểm tra xem mảng có chứa phần tử nằm trong một range cho trước hay không

let marks = [4, 5, 6, 7, 9];

const range = {
    min: 9,
    max: 10
};

let result = marks.some(function (e) {
    return e >= this.min && e <= this.max;
}, range);

console.log(result); // true

Lưu ý: Nếu bạn gọi method some() trên một mảng trống, kết quả luôn là false bất kể điều kiện nào.

Ví dụ:

let result = [].some(e => e !== 0);
console.log(result); // false

result = [].some(e => true);
console.log(result); // false

Kết luận

Như vậy là chúng ta đã tìm hiểu về method some() trong Javascript thông qua các ví dụ. Hi vọng bài viết này sẽ giúp ích cho các bạn.

Hẹn gặp các bạn trong các bài viết tiếp theo. Chúc các bạn học tốt ^^.

Có thể bạn thích ⚡
homiedev
About Me

Hi, I'm @devnav. Một người thích chia sẻ kiến thức, đặc biệt là về Frontend 🚀. Trang web này được tạo ra nhằm giúp các bạn học Frontend hiệu quả hơn 🎉😄.

Chúc các bạn tìm được kiến thức hữu ích trong blog này 😁😁.