Làm cách nào để lấy tất cả các giá trị từ đối tượng trong JavaScript?
Một vấn đề phổ biến mà các lập trình viên gặp phải là lặp qua một tập dữ liệu có thể đếm được. Dữ liệu này có thể ở dạng mảng, danh sách, bản đồ hoặc các đối tượng khác. Trong bài viết này, chúng ta sẽ giải quyết vấn đề này và tìm hiểu 4 cách lặp qua các đối tượng bằng javascript để truy xuất nhiều cặp khóa-giá trị Show
Làm cách nào để lặp qua các đối tượng trong JavaScript?Các phương thức khác nhau có thể được sử dụng để lặp qua các đối tượng trong JavaScript là
Tiếp tục đọc để tìm hiểu thêm về các phương pháp khác nhau Mục lục
Giới thiệu về lặp qua các đối tượng bằng javascriptNếu bạn có một mảng được coi là một đối tượng trong javascript, thì bạn không thể lặp qua mảng đó bằng cách sử dụng map(), forEach() hoặc for. của vòng lặp Bạn sẽ nhận được lỗi
map() sẽ cung cấp cho bạn TypeError. mặt hàng. bản đồ không phải là một chức năng
forEach() sẽ cung cấp cho bạn TypeError. mặt hàng. forEach không phải là một chức năng
vì. của sẽ cung cấp cho bạn TypeError. các mục không thể lặp lại
Các phương thức lặp qua các đối tượng bằng javascriptvì. trong vòng lặpCách đơn giản nhất để lặp qua các thuộc tính của đối tượng là sử dụng lệnh for. trong tuyên bố. Phương pháp này hoạt động trong tất cả các trình duyệt hiện đại và cũ bao gồm Internet Explorer 6 trở lên Đây là một ví dụ sử dụng for. trong vòng lặp để lặp qua một đối tượng
Một vấn đề trong việc sử dụng for. trong phương thức là nó cũng lặp qua các thuộc tính trong chuỗi nguyên mẫu. Vì các đối tượng trong JavaScript có thể kế thừa các thuộc tính từ các nguyên mẫu của chúng, nên for. trong câu lệnh cũng sẽ lặp qua các thuộc tính đó Để tránh vấn đề này, bạn phải kiểm tra rõ ràng xem thuộc tính có thuộc về đối tượng hay không bằng cách sử dụng phương thức hasOwnProperty()
Để khắc phục rắc rối này, sau này trong ES8, hai phương thức khác đã được thêm vào, Object. các mục () và Đối tượng. giá trị(). Các phương thức này chuyển đổi đối tượng thành một mảng và sau đó sử dụng các phương thức lặp mảng để lặp qua mảng đó Mục tiêu. keys() Phương thứcTrước ES6, cách duy nhất để lặp qua một đối tượng là sử dụng lệnh for. trong vòng lặp. đối tượng. keys() đã được giới thiệu trong ES6 để giúp lặp qua các đối tượng dễ dàng hơn Nó lấy đối tượng mà bạn muốn lặp lại làm đối số và trả về một mảng chứa tất cả tên thuộc tính (hoặc khóa) Sau đó, bạn có thể sử dụng bất kỳ phương thức lặp mảng nào, chẳng hạn như forEach(), để lặp qua mảng và truy xuất giá trị của từng thuộc tính Đây là một ví dụ
Mục tiêu. phương thức value()đối tượng. Các giá trị () đã được giới thiệu trong ES8 và nó hoạt động ngược lại với phương thức của Object. Chìa khóa(). Nó trả về các giá trị của tất cả các thuộc tính trong đối tượng dưới dạng một mảng. Sau đó, bạn có thể lặp qua mảng giá trị bằng cách sử dụng bất kỳ phương thức lặp mảng nào Chúng ta hãy xem xét một ví dụ >______7_______Mục tiêu. các mục () Phương thứcđối tượng. các mục (), một phương thức ES8 khác có thể được sử dụng để duyệt qua một mảng. . Mục tiêu. các mục () xuất ra một mảng các mảng, với mỗi mảng bên trong có hai phần tử. Phần tử đầu tiên là thuộc tính và phần tử thứ hai là giá trị Đây là một ví dụ ________số 8_______Để lặp qua mảng được trả về bởi Object. các mục (), bạn có thể sử dụng for. của vòng lặp hoặc phương thức forEach() như hình bên dưới
lời chia tayChúng ta đã tìm hiểu sơ qua về 4 cách khác nhau để lặp qua các đối tượng trong javascript. Nếu bạn đang sử dụng các trình duyệt cũ, đối với. in vẫn là một lựa chọn tốt, nếu không, bạn có thể sử dụng bất kỳ phương pháp mới nhất nào được thảo luận ở trên Làm cách nào để lấy tất cả các giá trị từ một đối tượng JavaScript?values() Phương thức . đối tượng. Phương thức values() được sử dụng để trả về một mảng các giá trị thuộc tính có thể đếm được của chính đối tượng. Mảng có thể được lặp bằng vòng lặp for để lấy tất cả các giá trị của đối tượng.
Làm cách nào để lấy dữ liệu từ đối tượng trong JavaScript?Bạn có thể truy cập các thuộc tính của một đối tượng trong JavaScript theo 3 cách. . 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ị từ đố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 để lấy mảng giá trị đối tượng trong JavaScript?Đối tượng JavaScript Chuyển đổi giá trị của đối tượng thành mảng
. var mảng = Đối tượng. keys(obj). map(function(key) { return obj[key]; }); bảng điều khiển. |