Một đối tượng trong JavaScript là một tập hợp các cặp khóa-giá trị không theo thứ tự [key: value
]. Mỗi khóa được gọi là một thuộc tính và là một chuỗi đại diện cho tên thuộc tính. Nếu một khóa không phải là chuỗi được cung cấp làm khóa, thì biểu diễn chuỗi hóa của nó sẽ được sử dụng. Giá trị của thuộc tính có thể thuộc bất kỳ loại dữ liệu nào phù hợp với thuộc tính về mặt khái niệm - một chuỗi, một số, một mảng hoặc thậm chí là một hàm
Mặt khác, một mảng là một tập hợp các giá trị được sắp xếp. Mỗi giá trị được gọi là một phần tử, được xác định bởi một chỉ số số. Một mảng có thể bao gồm các giá trị của hầu hết mọi loại. Ví dụ: nó có thể lưu trữ các mục như số nguyên, chuỗi, booleans, hàm, v.v. Mảng JavaScript cũng không bị giới hạn ở một loại duy nhất, nghĩa là một mảng nhất định có thể chứa nhiều loại khác nhau bên trong nó
Khi làm việc với JavaScript, tại một thời điểm cụ thể, bạn có thể cần xác định xem một khóa có tồn tại trong một đối tượng hoặc mảng nhất định hay không
Trong bài viết này, chúng ta sẽ thấy các phương pháp khác nhau mà chúng ta có thể sử dụng để kiểm tra xem một khóa cụ thể có tồn tại trong một đối tượng/mảng JavaScript hay không
Sử dụng toán tử in
Toán tử in
trong JavaScript được sử dụng để xác định xem một thuộc tính nhất định có tồn tại trong một đối tượng hoặc các thuộc tính kế thừa của nó hay không [còn được gọi là chuỗi nguyên mẫu của nó]. Nếu thuộc tính được cung cấp tồn tại, toán tử in
trả về true
Vì chúng tôi đã chứng minh rằng toán tử JavaScript in
có thể được sử dụng với các đối tượng, nên bạn có thể hỏi liệu nó cũng có thể được sử dụng với các mảng hay không. Trong JavaScript, mọi thứ đều là một thể hiện của kiểu Đối tượng [ngoại trừ kiểu nguyên thủy], vì vậy mảng cũng hỗ trợ toán tử in
Hãy xác nhận xem đó có phải là một thể hiện của loại Object
hay không bằng cách sử dụng toán tử instanceof
Bây giờ, quay lại sử dụng toán tử in
Điều này cũng sẽ trả về true
cho các thuộc tính phương thức trên một kiểu mảng, trong đó mảng số là một thể hiện
Sử dụng Phương pháp in
0
Trong JavaScript, hàm in
0 được sử dụng để xác định xem đối tượng có thuộc tính được cung cấp làm thuộc tính riêng của nó hay không. Điều này rất quan trọng để xác định xem thuộc tính có được kế thừa bởi đối tượng hay không phải là của chính nó
Bạn có thể bắt đầu tự hỏi liệu điều này có hiệu quả với mảng không. Như chúng ta đã thiết lập trước đó, một mảng thực sự là một nguyên mẫu [ví dụ] của loại Object
, do đó, nó cũng có sẵn phương thức này
Sử dụng Phương pháp in
3
Phương thức tĩnh in
4 tạo và trả về một mảng có các thành phần là các chuỗi tên [khóa] thuộc tính của đối tượng. Điều này có thể được sử dụng để lặp qua các khóa của đối tượng, sau đó chúng ta có thể sử dụng khóa này để xác minh xem có khóa nào khớp với một khóa nhất định trong đối tượng hay không
in
5in
5 là một phương thức JavaScript kiểm tra hàm gọi lại trên tất cả các phần tử của mảng đang gọi và trả về true
nếu hàm gọi lại trả về true
cho bất kỳ phần tử nào trong số chúng
in
5 cho các đối tượngChúng tôi cũng có thể tùy chỉnh chức năng này thành một chức năng có thể tái sử dụng
Sử dụngin
5 cho một mảngMột lần nữa, giống như với đối tượng, chúng ta cũng có thể sử dụng một chức năng tái sử dụng được tùy chỉnh tương tự để kiểm tra sự tồn tại của một giá trị trong một mảng
Sử dụng Phương phápin
1Phương thức in
1 của JavaScript sẽ trả về chỉ mục của phiên bản đầu tiên của một phần tử trong mảng. Nếu phần tử không tồn tại thì -1 được trả về
in
1 cho một đối tượngLoại Object
trong JavaScript không thực sự hỗ trợ phương thức in
5, vì các thuộc tính/khóa của nó vốn không có các vị trí được lập chỉ mục trong đối tượng. Thay vào đó, chúng ta có thể lấy các khóa của đối tượng dưới dạng một mảng và sau đó kiểm tra sự tồn tại của khóa bằng phương thức in
5
Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
Hãy nhớ rằng các đối tượng JavaScript không phải lúc nào cũng giữ nguyên thứ tự khóa, vì vậy chỉ mục được trả về có thể không có ý nghĩa như trong mảng. Trong trường hợp này, chỉ mục chủ yếu được sử dụng để xác định sự tồn tại của khóa
Đây là một ví dụ về việc sử dụng điều này trong một chức năng tiện ích
Sử dụngin
1 cho một mảngNhư chúng ta đã thấy trong ví dụ trước, mảng hỗ trợ phương thức in
5, không giống như các đối tượng. Để sử dụng nó, hãy chuyển giá trị của mục bạn đang tìm kiếm cho in
5, sau đó giá trị này sẽ trả về vị trí của giá trị đó nếu nó tồn tại trong mảng
Phần kết luận
Trong bài viết này, chúng ta đã thấy tất cả các cách có thể để chúng ta có thể kiểm tra xem một khóa hoặc mục có tồn tại trong một đối tượng/mảng JavaScript hay không. Chúng tôi trình bày cách sử dụng toán tử in
, phương thức in
0 và phương thức in
2. Chúng ta cũng đã thấy các đối tượng JS và mảng tương tự như thế nào trong đó các mảng kế thừa từ các đối tượng và do đó chứa nhiều phương thức giống nhau