Nhận đối tượng trong Object JavaScript

Trong JavaScript, việc lấy các khóa và giá trị bao gồm một đối tượng rất dễ dàng. Bạn có thể truy xuất các khóa, giá trị của từng đối tượng hoặc kết hợp cả hai thành một mảng

Các ví dụ dưới đây sử dụng đối tượng sau

const obj = { name: 'Daniel', age: 40, occupation: 'Engineer', level: 4 };

Lấy chìa khóa của một đối tượng

đối tượng. keys() phương thức trả về một mảng các chuỗi chứa tất cả các khóa của đối tượng, được sắp xếp theo thứ tự xuất hiện

console.log(Object.keys(obj));
// Expected output: ["name", "age", "occupation", "level"]

Ở đây, cũng như trong các ví dụ sau, chúng ta chuyển vào đối tượng mà dữ liệu cần thiết làm tham số

Lấy giá trị của đối tượng

đối tượng. Phương thức values() trả về một mảng các chuỗi chứa tất cả các giá trị trường của đối tượng, được sắp xếp theo thứ tự xuất hiện

console.log(Object.values(obj));
// Expected output: ["Daniel", 40, "Engineer", 4]

Nhận các mục nhập của một đối tượng

đối tượng. phương thức entry() trả về một mảng các mảng. Mỗi mảng bao gồm một cặp giá trị. Chuỗi đầu tiên là tên của một khóa trong đối tượng, chuỗi thứ hai là giá trị tương ứng của nó. Trong ví dụ bên dưới, phần tử đầu tiên trong mảng là [“name”, “Daniel”]. Trong mảng con này, “tên” là khóa đầu tiên của đối tượng obj và “Daniel” là giá trị đầu tiên của đối tượng

console.log(Object.entries(obj));
// Expected output: [["name", "Daniel"], ["age", 40], ["occupation", "Engineer"], ["level", 4]]

Mẹo. Có thể tạo lại đối tượng ban đầu bằng cách sử dụng giá trị trả về của Đối tượng. phương thức entry()

Cải cách một đối tượng

Đưa ra một mảng các cặp khóa-giá trị được trả về bởi Object. các mục (), chúng ta có thể sử dụng cùng một đầu ra để tạo lại đối tượng ban đầu. Điều này đạt được với Object. fromEntries()

const objEntries = Object.entries(obj);
console.log(Object.fromEntries(objEntries));
// Expected output: {name: "Daniel", age: 40, occupation: "Engineer", level: 4}

đối tượng. Phương thức fromEntries() tạo thành một đối tượng từ một đối số có thể lặp lại. Bạn không thể đơn giản chuyển một mảng có hai phần tử, vì đây không phải là định dạng được trả về bởi Đối tượng. mục(). Đầu vào đối tượng. fromEntries() cần phải là một mảng của các mảng, như được cung cấp trong ví dụ trên. Tuy nhiên, điều quan trọng cần lưu ý là các mảng không tuân theo “quy tắc hai mục” sẽ vẫn được xử lý. Bạn có thể thấy điều này trong ví dụ sau

const arr = [[4, 28, 167, "JavaScript"], ["One", "Two", "Three"], ["hello"]];
console.log(Object.fromEntries(arr));
// Expected output: {4: 28, One: "Two", hello: undefined}

Trong ví dụ trên, phần tử mảng đầu tiên có bốn mục, phần tử mảng thứ hai có ba mục và phần tử mảng thứ ba chỉ có một mục. Trong mỗi trường hợp này, chỉ có hai mục đầu tiên được sử dụng khi tạo đối tượng. Nếu chỉ có một phần tử duy nhất, giá trị tương ứng của phần tử đó là không xác định

Toán tử delete được thiết kế để sử dụng trên các thuộc tính của đối tượng. Nó không ảnh hưởng đến các biến hoặc chức năng

Không nên sử dụng toán tử delete trên các thuộc tính đối tượng JavaScript được xác định trước. Nó có thể làm hỏng ứng dụng của bạn


Đối tượng lồng nhau

Các giá trị trong một đối tượng có thể là một đối tượng khác

Thí dụ

myObj = {
Tên. "John",
tuổi. 30,
ô tô. {
xe1. "Ford",
xe2. "XE BMW",
xe3. "Xin vâng"
}
}

Bạn có thể truy cập các đối tượng lồng nhau bằng ký hiệu dấu chấm hoặc ký hiệu dấu ngoặc

hoặc là

hoặc là

hoặc là


Mảng và đối tượng lồng nhau

Giá trị trong đối tượng có thể là mảng và giá trị trong mảng có thể là đối tượng

Thí dụ

const myObj = {
Tên. "John",
tuổi. 30,
ô tô. [
{Tên. "Ford", người mẫu. ["Fiesta", "Focus", "Mustang"]},
{Tên. "BMW", người mẫu. ["320", "X3", "X5"]},
{Tên. "Fiat", người mẫu. ["500", "Gấu trúc"]}
]
}

Để truy cập các mảng bên trong mảng, hãy sử dụng vòng lặp for-in cho mỗi mảng

Thí dụ

cho (hãy để tôi trong myObj. ô tô) {
x += "

" + myObj. ô tô [tôi]. tên + "";
cho (đặt j trong myObj. ô tô [tôi]. người mẫu) {
x += myObj. ô tô [tôi]. mô hình [j];
}
}Tự mình thử »


Thuộc tính tài sản

Tất cả tài sản đều có tên. Ngoài ra chúng còn có giá trị

Giá trị là một trong những thuộc tính của thuộc tính

các thuộc tính khác là. có thể đếm được, có thể định cấu hình và có thể ghi

Các thuộc tính này xác định cách truy cập thuộc tính (có thể đọc được không?, có thể ghi không?)

Trong JavaScript, tất cả các thuộc tính có thể được đọc, nhưng chỉ có thể thay đổi thuộc tính giá trị (và chỉ khi thuộc tính có thể ghi được)

(ECMAScript 5 có các phương thức để nhận và đặt tất cả các thuộc tính thuộc tính)


Thuộc tính nguyên mẫu

Các đối tượng JavaScript kế thừa các thuộc tính của nguyên mẫu của chúng

Từ khóa delete không xóa các thuộc tính kế thừa, nhưng nếu bạn xóa một thuộc tính nguyên mẫu, nó sẽ ảnh hưởng đến tất cả các đối tượng được kế thừa từ nguyên mẫu

Làm cách nào để lấy đối tượng bên trong đối tượng trong JavaScript?

3 cách truy cập thuộc tính đối tượng trong JavaScript .
Trình truy cập thuộc tính dấu chấm. mục tiêu. tài sản
Truy cập thuộc tính dấu ngoặc vuông. đối tượng ['thuộc tính']
phá hủy đối tượng. const {thuộc tính} = đối tượng

Làm cách nào để lấy giá trị đối tượng đối tượng trong JavaScript?

Làm cách nào để lấy Khóa, Giá trị và Mục nhập trong Đối tượng JavaScript? .
Mục tiêu. keys(obj) – trả về tất cả các khóa của đối tượng dưới dạng mảng
Mục tiêu. giá trị (obj) – trả về tất cả các giá trị của đối tượng dưới dạng mảng
Mục tiêu. entry(obj) – trả về một mảng [key, value]

Làm cách nào để in đối tượng đối tượng trong JavaScript?

phương thức stringify() được sử dụng để in đối tượng JavaScript . JSON. Phương thức stringify(). JSON. Phương thức stringify() được sử dụng để cho phép lấy một đối tượng JavaScript hoặc Mảng và tạo một chuỗi JSON từ nó.

Làm cách nào để lấy các phương thức của một đối tượng trong JavaScript?

Chúng ta có thể sử dụng Đối tượng. hàm getOwnPropertyNames() để lấy tất cả các tên thuộc tính được liên kết với một đối tượng . Sau đó, chúng ta có thể lọc mảng kết quả, để chỉ bao gồm tên thuộc tính đó nếu đó là một hàm.