3 cách để kiểm tra phần tử có tồn tại trong mảng hay không bằng javascript

thumbnail

Có những lúc ta cần kiểm tra xem một phần tử có tồn tại trong mảng hay không. Để thực hiện việc này, có nhiều cách khác nhau, bao gồm cả việc duyệt qua mảng thủ công.

Tuy nhiên, khi có sẵn các công cụ hỗ trợ, không lý do gì ta không tận dụng chúng. Trong bài viết này, tôi sẽ giới thiệu ba phương pháp để kiểm tra sự tồn tại của một phần tử trong mảng. Mỗi phương pháp đều có ưu điểm và nhược điểm riêng, tùy thuộc vào yêu cầu cụ thể của dự án.

Hãy cùng bắt đầu nào.

Các cách kiểm tra một phần tử trong mảng

.includes()

Đối với trường hợp, bạn chỉ cần kiểm tra một giá trị nào đó có tồn tại trong mảng hay không? Câu trả lời chỉ cần: có hoặc không. Phương pháp hiệu quả nhất là sử dụng hàm .includes(). Bạn chỉ cần truyền giá trị cần kiểm tra vào tham số, kết quả true/false sẽ được trả về.

Ví dụ:

let names = ["Jim","Sarah","Tychus"];

if(names.includes("Tychus")) {
  console.log("Value found");
}

.indexOf()

Ngoài yêu cầu kiểm tra xem giá trị đó có tồn tại hay không? Nếu tồn tại thì cụ thể giá trị đó ở vị trí nào trong mảng. Lúc này hàm .indexOf() là lựa chọn sáng suốt.

let names = ["Jim","Sarah","Tychus"];

if(names.indexOf("Tychus") >= 0) {
  console.log("Value found");
}

Lưu ý: Hàm .indexOf() chỉ trả về vị trí của giá trị đó trong mảng, nếu không tồn tại thì nó trả về -1.

Duyệt mảng thủ công

Đây là cách thủ công mà mình đã nhắc đến ở đầu bài viết. Cách làm này không cần phải biết kỹ thuật gì cao siêu cả, cứ nghĩ sao làm vậy.

Mặc dù các viết code thì nó dài vậy thôi, chứ hiệu năng thì cũng tương đương với hai cách ở trên.

function findValue(haystack,needle) {
    for(const item of haystack) {
       if(item === needle) {
          return true;
       }
    }
    return false;
}
let names = ["A","B","C","D","E"];
console.log(findValue(names,"D"));

Trên đây là một số cách để bạn có thể tìm kiếm một phần tử bất kỳ trong mảng. Mặc dù kỹ thuật này không khó, nhưng mình tin là nhiều bạn chưa biết, hoặc đã biết nhưng đã quên . Coi như đây là phần note lại dùng khi cần thiết.

Các bài viết liên quan:

No comments:

Powered by Blogger.