Mảng javascript có thể chứa các đối tượng không?

Mảng là một trong những cấu trúc dữ liệu được sử dụng rộng rãi nhất trong Khoa học máy tính. Khi xử lý một danh sách các mục (mảng), chúng ta thường được yêu cầu tìm kiếm một giá trị cụ thể trong danh sách. JavaScript chứa một vài phương thức tích hợp để kiểm tra xem một mảng có một giá trị hoặc đối tượng cụ thể hay không

Trong bài viết này, chúng ta sẽ xem xét cách kiểm tra xem một mảng có bao gồm/chứa một giá trị hoặc phần tử trong JavaScript hay không

Kiểm tra mảng các giá trị nguyên thủy Bao gồm một giá trị

Mảng. chức năng bao gồm ()

Cách đơn giản nhất để kiểm tra giá trị nguyên thủy trong một mảng là sử dụng phương thức

Element is not present
8

Ví dụ: hãy kiểm tra xem mảng động vật có chứa biểu tượng cảm xúc chó và mèo hay không

Hàm trả về một giá trị boolean, biểu thị sự hiện diện hoặc thiếu của giá trị đó

Mảng. hàm indexOf()

Trong trường hợp chúng tôi cần vị trí chính xác của phần tử mà chúng tôi đang tìm kiếm, chúng tôi có thể sử dụng phương pháp

Element is not present
9, tìm kiếm
Element is not present
0 trong mảng đã chỉ định và trả về chỉ mục của lần xuất hiện đầu tiên và
Element is not present
1 nếu mảng không chứa
Element is not present
0

Ví dụ: chúng ta có thể tìm kiếm lần xuất hiện đầu tiên của điểm trong một mảng chứa điểm

Trong trường hợp đầu tiên, phần tử có mặt và vị trí của nó được trả về. Trong trường hợp thứ hai, giá trị trả về biểu thị rằng phần tử không có mặt

Chúng ta có thể sử dụng điều này để thay đổi dòng mã một cách dễ dàng

let grades = ["B", "D", "C", "A"]

if (grades.indexOf("F") >= 0) {
    console.log("Element is present");
} else {
    console.log("Element is not present");
}

Nếu chúng tôi vượt qua trong

Element is not present
3, thông báo đầy đủ sẽ được in

Element is not present

Kiểm tra xem Mảng đối tượng có bao gồm đối tượng không

hàm some()

Khi tìm kiếm một đối tượng,

Element is not present
8 kiểm tra xem tham chiếu đối tượng được cung cấp có khớp với đối tượng trong mảng không. Đây hiếm khi là điều chúng ta muốn, bởi vì các đối tượng có thể có các trường giống hệt nhau với các giá trị tương ứng nhưng các tham chiếu khác nhau

Chúng ta có thể sử dụng phương thức

Element is not present
0 để tìm kiếm theo nội dung của đối tượng. Phương thức
Element is not present
0 nhận một đối số chấp nhận một hàm gọi lại, hàm này được thực thi một lần cho mỗi giá trị trong mảng cho đến khi tìm thấy phần tử đáp ứng điều kiện do hàm
Element is not present
2 đặt và trả về
Element is not present
3

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 xem xét hoạt động của

Element is not present
0 để hiểu rõ hơn

let animals = [{name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"}]
let element = {name: "monkey"}

animals.some(animal => animal.name === element.name)

Hàm gọi lại trả về

Element is not present
5 cho hai trường hợp đầu tiên, nhưng trả về
Element is not present
3 cho phần tử thứ ba, khi tên khớp. Sau đó,
Element is not present
0 tạm dừng thực thi và trả về
Element is not present
3

Sự kết luận

Trong bài viết này, chúng ta đã tìm hiểu một số cách để kiểm tra xem một mảng có chứa giá trị hay không trong JavaScript

Chúng tôi đã đề cập đến hàm

Element is not present
8, trả về giá trị boolean nếu giá trị đó hiện diện. Hàm
let animals = [{name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"}]
let element = {name: "monkey"}

animals.some(animal => animal.name === element.name)
0 trả về chỉ mục của một giá trị nếu có và
Element is not present
1 nếu không có

Cuối cùng, đối với các đối tượng, hàm

Element is not present
0 giúp chúng ta tìm kiếm sự hiện diện của đối tượng dựa trên nội dung của chúng

Trong hướng dẫn này, chúng ta sẽ học cách kiểm tra xem một mảng có bao gồm một đối tượng hay không. Mảng thực chứa các giá trị có cùng kiểu dữ liệu. Trong JavaScript, mảng được thay thế bằng danh sách, bao gồm các giá trị với bất kỳ kiểu dữ liệu nào cho dù người dùng có thể thêm các đối tượng bên trong danh sách bằng số và chuỗi

Vì vậy, các lập trình viên đôi khi cần tìm hiểu xem mảng có chứa các đối tượng hay không. Người lập trình có thể truy cập các thuộc tính của đối tượng và thực hiện một số thao tác nếu mảng chứa đối tượng

Ở đây, chúng ta có các phương thức khác nhau để kiểm tra xem mảng có chứa đối tượng hay không

  • Sử dụng mảng. phương thức bao gồm ()

  • Sử dụng mảng. phương thức some()

Sử dụng mảng. phương thức bao gồm ()

Mảng. Phương thức bao gồm () hữu ích nhất khi chúng ta cần kiểm tra xem mảng có bao gồm giá trị cụ thể trong danh sách hay không trong JavaScript. Chúng ta có thể tìm thấy bất kỳ thực thể đối tượng cụ thể nào bằng phương pháp này. Chúng ta sẽ truyền một đối tượng làm tham số của mảng. bao gồm () và nếu mảng chứa đối tượng có cùng khóa và giá trị, thì nó trả về true

cú pháp

Người dùng có thể làm theo cú pháp dưới đây để sử dụng mảng. phương thức bao gồm ()

Element is not present
4

Thông số

mảng. phương thức bao gồm () chứa hai tham số

  • đối tượng - Nó là một loại thực thể của đối tượng mà bạn muốn tìm trong mảng

  • started_position - Đó là vị trí bắt đầu dựa trên chỉ mục 0 trong mảng, từ vị trí mà người dùng muốn bắt đầu tìm đối tượng trong mảng

Thí dụ

Trong ví dụ dưới đây, chúng tôi đã tạo một đối tượng và một mảng các chuỗi. Ngoài ra, nó bao gồm các đối tượng bên trong mảng. Chúng tôi đang tìm đối tượng trong mảng bằng cách bắt đầu các vị trí khác nhau bằng cách sử dụng mảng. phương thức bao gồm ()

Element is not present
5

Trong mã ví dụ trên, vị trí của đối tượng là 2 vì danh sách bắt đầu từ chỉ mục 0. Nếu chúng ta bắt đầu tìm vị trí đối tượng từ 1, chúng ta sẽ bắt đối tượng và trả về giá trị true. Khi chúng ta bắt đầu tìm đối tượng từ vị trí thứ 3, nó sẽ trả về false

Sử dụng mảng. phương thức some()

mảng. Phương thức some() lặp qua mọi phần tử của mảng giống như vòng lặp forEach trong JavaScript. Nó lấy chức năng gọi lại làm tham số. Người dùng có thể xác định một số điều kiện để áp dụng cho mọi phần tử mảng bên trong hàm gọi lại. Ngay cả khi điều kiện trở thành true đối với một phần tử, nó vẫn trả về true. Trong trường hợp của chúng tôi, chúng tôi sẽ kiểm tra loại giá trị và nếu đó là một đối tượng, nó sẽ trả về true

cú pháp

Cú pháp của mảng. phương thức some() như được đưa ra dưới đây

Element is not present
6

Ngoài ra, người dùng có thể sử dụng chức năng mũi tên bên trong chức năng gọi lại. Ở đây, chúng tôi đã tạo chức năng được đặt tên để duy trì sự đơn giản của mã

Thông số

mảng. phương thức some() lấy chức năng gọi lại làm tham số

  • chức năng gọi lại - Đây là chức năng kiểm tra một số điều kiện trên mọi phần tử. Nếu bất kỳ phần tử đơn lẻ nào đánh giá điều kiện là đúng, thì mảng. phương thức some() trả về true

Thí dụ

Ví dụ dưới đây chứng minh rằng mảng. phương thức some(). Chúng tôi đã tạo mảng chứa đối tượng. Chúng ta sẽ lặp qua từng phần tử của mảng để kiểm tra kiểu của nó. Nếu một mảng chứa bất kỳ thực thể đơn nào, loại nào là một đối tượng, thì mảng. some() trả về true

Element is not present
7

Sự kết luận

Trong hướng dẫn này, chúng ta đã học được hai phương pháp để kiểm tra mảng, bao gồm cả đối tượng. Phương thức đầu tiên kiểm tra đối tượng có cùng cặp khóa-giá trị tồn tại trong mảng hay không. Thay vì kiểm tra đối tượng có cùng cặp khóa-giá trị, phương thức thứ hai kiểm tra thực thể của loại đối tượng

Tuy nhiên, có nhiều phương thức khác trong JavaScript để kiểm tra sự tồn tại của thực thể đối tượng trong mảng. Người dùng có thể sử dụng phương thức find() hoạt động tương tự như mảng. phương thức some(). Hơn nữa, mảng, bộ lọc() và mảng. phương thức indexof() cũng hữu ích để giải quyết các vấn đề được đưa ra trong hướng dẫn này

Một mảng có thể có các đối tượng?

Lưu trữ các đối tượng trong một mảng . Yes, since objects are also considered as datatypes (reference) in Java, you can create an array of the type of a particular class and, populate it with instances of that class.

Một mảng có thể chứa cả số và đối tượng cùng lúc trong JavaScript không?

Mảng JavaScript thực sự có thể chứa bất kỳ và tất cả các loại dữ liệu. Một mảng có thể chứa các đối tượng khác (bao gồm cả các mảng khác) cũng như bất kỳ giá trị nguyên thủy nào như chuỗi, null và không xác định . Khi bạn đặt một đối tượng bên trong một đối tượng khác, nó được gọi là đối tượng lồng nhau.

Mảng có thể có thuộc tính JavaScript không?

Mảng là đối tượng và do đó bạn có thể thêm các thuộc tính của riêng mình vào chúng . var mảng = [1, 2, 3]; .