Phương thức includes() trong JavaScript dùng để kiểm tra xem một chuỗi có chứa một ký tự hoặc một chuỗi con nào đó hay không. Nếu chuỗi có chứa ký tự hoặc chuỗi con đó, phương thức sẽ trả về true, ngược lại sẽ trả về false.
Các bài viết liên quan:
Includes() cũng có thể sử dụng với mảng và với các giá trị, bạn có thể kiểm tra một phần tử có tồn tại trong mảng hay không.
Nó có thể giúp bạn tìm kiếm một phần tử trong một mảng mà không cần phải duyệt qua tất cả các phần tử của mảng.
Sử dụng includes() trong JavaScript như thế nào ?
Sử dụng includes() trong JavaScript rất đơn giản, bạn chỉ cần gọi phương thức này trên một chuỗi hoặc một mảng và truyền vào giá trị cần kiểm tra. Nó sẽ trả về true nếu giá trị đó tồn tại trong chuỗi hoặc mảng, và false nếu không tồn tại.
Ví dụ:
let str = "Hello world!"; console.log(str.includes("world")); // true console.log(str.includes("javascript")); // false let arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
Trong một số trường hợp cần kiểm tra một giá trị có tồn tại trong một mảng hoặc chuỗi, includes() là một lựa chọn tốt hơn so với indexOf() vì nó có thể trả về kết quả chính xác hơn trong trường hợp có các giá trị trùng nhau.
Một số lỗi thường gặp khi sử dụng includes():
- Truyền sai tham số: Trong khi sử dụng hàm includes(), nếu bạn truyền sai tham số (ví dụ, truyền vào một số thay vì chuỗi), nó sẽ gây ra lỗi TypeError.
- Viết hoa viết thường không chính xác: hàm includes() là case sensitive, nếu bạn tìm kiếm một chuỗi con với chữ hoa hoặc thường không chính xác so với chuỗi cha thì nó sẽ không tìm thấy.
- Sử dụng với các đối tượng: hàm includes() không hoạt động với các đối tượng. Nếu bạn muốn sử dụng includes() với các đối tượng, bạn sẽ cần chuyển đổi chúng thành chuỗi hoặc mảng trước khi sử dụng.
- Sử dụng với trình duyệt cũ : hàm includes() là một tính năng của ECMAScript 6 (ES6) nó chỉ hoạt động trên các trình duyệt mới, nếu bạn muốn sử dụng includes() trên các trình duyệt cũ hơn, bạn cần sử dụng polyfill hoặc chuyển sang sử dụng hàm indexOf()
- Lỗi chính tả : Là lỗi nếu chuỗi con không đúng chính tả hoặc chuỗi cha có các lỗi chính tả, nó sẽ không tìm thấy chuỗi con và trả về false.
- Sử dụng với mảng: Hàm includes() cũng hỗ trợ sử dụng với mảng, nhưng nếu sử dụng nó với một mảng gồm các đối tượng, hàm sẽ không hoạt động đúng vì nó sẽ so sánh theo tham chiếu đối tượng. Chúng ta cần sử dụng hàm find() thay vì includes() để tìm kiếm trong mảng gồm các đối tượng.
- Không kiểm tra biên: Nếu bạn sử dụng hàm includes() với vị trí bắt đầu tìm kiếm, hãy chú ý đến giá trị của vị trí đó và có phải nó là hợp lệ hay không. Nếu giá trị vị trí không hợp lệ nó sẽ không tìm kiếm chuỗi đúng cách và có thể gây ra lỗi.
Trong tổng thể, sử dụng includes() trong javascript là một việc hữu dụng và tiện lợi, nhưng chúng ta cần chú ý đến các lỗi và hạn chế của nó. Tránh viết hoa viết thường không chính xác, sử dụng với các đối tượng, sử dụng trên trình duyệt cũ và kiểm tra các giá trị truyền vào hàm như vị trí.
Ví dụ về các trường hợp sử dụng includes() trong JavaScript.
Có thể sử dụng hàm includes() để kiểm tra một giá trị có trong mảng hay không. Ví dụ:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(2)); // true console.log(arr.includes(6)); // false
Cũng có thể sử dụng hàm includes() để kiểm tra một chuỗi có chứa một chuỗi con hay không. Ví dụ:
const str = "hello world"; console.log(str.includes("world")); // true console.log(str.includes("goodbye")); // false
Hàm includes() cũng có thể sử dụng với các tham số thứ 2 để xác định vị trí bắt đầu tìm kiếm, ví dụ:
const str = "hello world"; console.log(str.includes("o",4)); // true, tìm kiếm từ vị trí 4 console.log(str.includes("o",5)); // false, tìm kiếm từ vị trí 5
Một ví dụ nâng cao khi sử dụng includes() trong javascript là khi bạn muốn kiểm tra một mảng có chứa một giá trị nào đó hoặc không. Ví dụ:
let fruits = ["Apple", "Banana", "Orange"]; let hasBanana = fruits.includes("Banana"); console.log(hasBanana); // true
Bạn cũng có thể sử dụng includes() với chuỗi để kiểm tra một chuỗi có chứa một chuỗi con nào đó hoặc không. Ví dụ:
let sentence = "The quick brown fox jumps over the lazy dog."; let word = "fox"; let hasWord = sentence.includes(word); console.log(hasWord); // true
Bạn cũng có thể sử dụng includes() để kiểm tra một đối tượng có chứa một thuộc tính nào đó hoặc không. Ví dụ:
let person = { name: "John Doe", age: 30 }; let hasAge = "age" in person; console.log(hasAge); // true
Trong các ví dụ trên, chúng ta sử dụng includes() để kiểm tra một giá trị có tồn tại trong một mảng, chuỗi hoặc đối tượng. Nó là một cách tiện lợi và dễ sử dụng hơn so với các phương pháp khác.
Các câu hỏi phổ biến về Includes() trong JavaScript
- Includes() là gì trong JavaScript?
Includes() là một phương thức của đối tượng String trong JavaScript, được sử dụng để kiểm tra xem một chuỗi có chứa một chuỗi con hay không. Phương thức này trả về một giá trị Boolean, true nếu chuỗi con được tìm thấy trong chuỗi gốc, false nếu không tìm thấy.
- Cú pháp của Includes() là gì?
Cú pháp của phương thức Includes() như sau:
string.includes(searchValue[, fromIndex])
Trong đó:
- string: Chuỗi cần kiểm tra.
- searchValue: Chuỗi con cần tìm kiếm.
- fromIndex (tùy chọn): Vị trí bắt đầu tìm kiếm. Mặc định là 0.
- Includes() có phân biệt chữ hoa và chữ thường không?
Có, phương thức Includes() phân biệt chữ hoa và chữ thường. Điều này có nghĩa là nếu bạn tìm kiếm chuỗi con “hello” trong chuỗi “Hello world”, phương thức Includes() sẽ trả về giá trị false.
- Includes() có thể được sử dụng với mảng không?
Có, phương thức Includes() cũng có thể được sử dụng với mảng. Khi sử dụng với mảng, phương thức này kiểm tra xem một giá trị có tồn tại trong mảng hay không.
- Includes() có thể được sử dụng để kiểm tra một giá trị có phải là NaN hay không?
Không, phương thức Includes() không thể được sử dụng để kiểm tra một giá trị có phải là NaN hay không. Nếu bạn cần kiểm tra một giá trị có phải là NaN, bạn có thể sử dụng phương thức isNaN() trong JavaScript.
- Includes() trả về giá trị true nếu chuỗi con là một chuỗi rỗng không?
Có, nếu bạn tìm kiếm một chuỗi rỗng trong chuỗi gốc, phương thức Includes() sẽ trả về giá trị true. Tuy nhiên, nếu bạn tìm kiếm một chuỗi rỗng trong một mảng, phương thức Includes() sẽ trả về giá trị false.
- Includes() có thể được sử dụng để kiểm tra một giá trị có phải là undefined hay không?
Không, phương thức Includes() không thể được sử dụng để kiểm tra một giá trị có phải là undefined hay không. Nếu bạn cần kiểm tra một giá trị có phải là undefined, bạn có thể sử dụng toán tử typeof trong JavaScript.
- Includes() có thể được sử dụng để kiểm tra một chuỗi con trong một vị trí cụ thể trong chuỗi gốc không?
Có, phương thức Includes() có thể được sử dụng để kiểm tra một chuỗi con trong một vị trí cụ thể trong chuỗi gốc bằng cách sử dụng tham số fromIndex. Tham số này xác định vị trí bắt đầu tìm kiếm.
- Includes() có thể được sử dụng để kiểm tra một chuỗi con trong một vùng con của chuỗi gốc không?
Có, phương thức Includes() có thể được sử dụng để kiểm tra một chuỗi con trong một vùng con của chuỗi gốc bằng cách sử dụng phương thức slice() để lấy vùng con đó và sau đó áp dụng phương thức Includes() lên vùng con đó.
Ví dụ:
const str = "The quick brown fox jumps over the lazy dog"; const subStr = "brown fox"; const subStrIndex = str.indexOf(subStr); console.log(str.slice(subStrIndex, subStrIndex + subStr.length).includes(subStr)); // true
- Includes() có thể được sử dụng để kiểm tra một chuỗi con trong một đối tượng không?
Không, phương thức Includes() chỉ có thể được sử dụng với đối tượng chuỗi và mảng trong JavaScript.
Kết luận
Hàm includes() trong javascript là nó là một công cụ rất hữu ích và tiện lợi để kiểm tra xem một chuỗi có chứa một chuỗi con nào đó hay không. Nó cung cấp một cách đơn giản và trực quan để kiểm tra một chuỗi chứa một chuỗi con nào đó, và điều này có thể giúp cho code của bạn trông rõ ràng hơn và dễ hiểu hơn so với sử dụng các phương pháp tìm kiếm khác.
Nhớ rằng hàm includes() chỉ hoạt động trên các trình duyệt và thiết bị di động mới hơn, nếu bạn muốn sử dụng nó trên trình duyệt cũ hơn, bạn sẽ cần sử dụng polyfill hoặc chuyển sang sử dụng hàm indexOf().
Cảm ơn bạn đã dành thời gian đọc bài viết trên. Mong rằng bài viết có thể giúp bạn hiểu và sử dụng được includes() lên dự án của mình.