Gói tích hợp, {"fullname": "Tom", "languages": ["English", "German"] } 1, do Python cung cấp, có thể được nhập để hoạt động với dữ liệu biểu mẫu JSON. Trong Python, JSON tồn tại dưới dạng chuỗi hoặc được lưu trữ trong đối tượng JSON
Chúng tôi sử dụng {"fullname": "Tom", "languages": ["English", "German"] } 2 để phân tích chuỗi thành từ điển. Hơn nữa, chúng tôi sử dụng vòng lặp {"fullname": "Tom", "languages": ["English", "German"] } 3 cho quá trình lặp qua từ điển
Đoạn mã sau triển khai hàm {"fullname": "Tom", "languages": ["English", "German"] } 4 và vòng lặp để lặp qua một đối tượng JSON
import json jsonstring1 = '{"k1": "v1", "k2": "v2"}' #Load JSON string into a dictionary json_dicti = json.loads(jsonstring1) #Loop along dictionary keys for key in json_dicti: print(key, ":", json_dicti[key])đầu ra
k1 : v1 k2 : v2Lưu ý rằng từ điển python được trả về khi lệnh {"fullname": "Tom", "languages": ["English", "German"] } 4 được thực thi, không phải đối tượng JSON
Nếu đó là một tệp chứa đối tượng JSON, hàm k1 : v1 k2 : v2 3 có thể được sử dụng để đọc tệp. Đoạn mã sau sử dụng hàm k1 : v1 k2 : v2 3 để phân tích cú pháp tệp chứa đối tượng JSON
Giả sử tệp có tên k1 : v1 k2 : v2 5 chứa dữ liệu này
{"fullname": "Tom", "languages": ["English", "German"] }Mã để phân tích tệp này ở bên dưới
import json with open('man.json') as a: dict1 = json.load(a) print(dict1)đầu ra
{'fullname': 'Tom', 'languages': ['English', 'German']}Hàm k1 : v1 k2 : v2 6 được sử dụng ở đây để đọc tệp JSON. Ở đây cũng vậy, chúng ta có một cuốn từ điển, k1 : v1 k2 : v2 7. Sau đó, quá trình lặp có thể được thực hiện trên từ điển
Trong JavaScript, khi bạn nghe thuật ngữ "vòng lặp", có lẽ bạn sẽ nghĩ đến việc sử dụng các phương thức vòng lặp khác nhau như vòng lặp k1 : v1 k2 : v2 06, vòng lặp k1 : v1 k2 : v2 07, k1 : v1 k2 : v2 08 và các vòng lặp khác
Nhưng thật không may, trong trường hợp của các đối tượng, các phương thức này không hoạt động vì các đối tượng không thể lặp lại
Điều này không có nghĩa là chúng ta không thể lặp qua một đối tượng – nhưng điều này có nghĩa là chúng ta không thể lặp trực tiếp qua một đối tượng giống như cách chúng ta làm với một mảng
k1 : v1 k2 : v2 3Trong bài viết này, Bạn sẽ tìm hiểu cách bạn có thể lặp qua một đối tượng trong JavaScript. Có hai phương pháp bạn có thể sử dụng - và một trong số đó có trước ngày giới thiệu ES6
Cách lặp qua một đối tượng trong JavaScript bằng vòng lặp k1 : v1 k2 : v2 09
Trước ES6, chúng tôi dựa vào phương thức k1 : v1 k2 : v2 50 bất cứ khi nào chúng tôi muốn lặp qua một đối tượng
Vòng lặp k1 : v1 k2 : v2 50 lặp qua các thuộc tính trong chuỗi nguyên mẫu. Điều này có nghĩa là chúng ta cần kiểm tra xem thuộc tính có thuộc về đối tượng hay không bằng cách sử dụng k1 : v1 k2 : v2 52 bất cứ khi nào chúng ta lặp qua một đối tượng bằng vòng lặp k1 : v1 k2 : v2 09
k1 : v1 k2 : v2 0Để tránh căng thẳng và khó lặp lại và sử dụng phương thức k1 : v1 k2 : v2 52, ES6 và ES8 đã giới thiệu các phương thức tĩnh đối tượng. Chúng chuyển đổi các thuộc tính đối tượng thành mảng, cho phép chúng ta sử dụng trực tiếp các phương thức mảng
Cách lặp qua một đối tượng trong JavaScript bằng các phương thức tĩnh đối tượng
Một đối tượng được tạo thành từ các thuộc tính có các cặp khóa-giá trị, tức là mỗi thuộc tính luôn có một giá trị tương ứng
Các phương thức tĩnh đối tượng cho phép chúng tôi trích xuất k1 : v1 k2 : v2 55, k1 : v1 k2 : v2 56 hoặc cả khóa và giá trị dưới dạng k1 : v1 k2 : v2 57 trong một mảng, cho phép chúng tôi có nhiều sự linh hoạt đối với chúng như chúng tôi làm với các mảng thực tế
Chúng tôi có ba phương thức tĩnh đối tượng, đó là
- k1 : v1 k2 : v2 58
- k1 : v1 k2 : v2 59
- k1 : v1 k2 : v2 60
Cách lặp qua một đối tượng trong JavaScript bằng phương thức k1 : v1 k2 : v2 58
Phương thức k1 : v1 k2 : v2 58 được giới thiệu trong ES6. Nó lấy đối tượng mà chúng ta muốn lặp lại làm đối số và trả về một mảng chứa tất cả các tên thuộc tính (còn được gọi là khóa)
k1 : v1 k2 : v2 5Điều này bây giờ mang lại cho chúng ta lợi thế khi áp dụng bất kỳ phương thức lặp mảng nào để lặp qua mảng và truy xuất giá trị của từng thuộc tính
k1 : v1 k2 : v2 6Điều này sẽ trở lại
k1 : v1 k2 : v2 1Chúng tôi cũng có thể sử dụng khóa để lấy giá trị bằng cách sử dụng ký hiệu ngoặc, chẳng hạn như k1 : v1 k2 : v2 63 như bên dưới
k1 : v1 k2 : v2 3Điều này sẽ trở lại
k1 : v1 k2 : v2 4Trước khi tiếp tục, hãy sử dụng phương pháp này để tổng hợp tất cả dân số bằng cách lặp qua để biết tổng dân số
k1 : v1 k2 : v2 5Cách lặp qua một đối tượng trong JavaScript bằng phương thức k1 : v1 k2 : v2 59
Phương thức k1 : v1 k2 : v2 59 rất giống với phương thức k1 : v1 k2 : v2 58 và được giới thiệu trong ES8. Phương thức này lấy Đối tượng mà chúng ta muốn lặp lại làm đối số và trả về một mảng chứa tất cả các giá trị khóa
k1 : v1 k2 : v2 9Điều này bây giờ mang lại cho chúng ta lợi thế khi áp dụng bất kỳ phương thức lặp mảng nào để lặp qua mảng và truy xuất k1 : v1 k2 : v2 67 của mỗi thuộc tính
k1 : v1 k2 : v2 1Điều này sẽ trở lại
k1 : v1 k2 : v2 00Chúng ta có thể thực hiện phép tính tổng một cách hiệu quả vì chúng ta có thể lặp trực tiếp
k1 : v1 k2 : v2 01Cách lặp qua một đối tượng trong JavaScript với Object. phương thức entry()
Phương pháp k1 : v1 k2 : v2 60 cũng được giới thiệu với ES8. Theo nghĩa cơ bản, những gì nó làm là xuất ra một mảng các mảng, theo đó mỗi mảng bên trong có hai phần tử là thuộc tính và giá trị
k1 : v1 k2 : v2 02kết quả này
k1 : v1 k2 : v2 03Điều này trả về một mảng các mảng, với mỗi mảng bên trong có k1 : v1 k2 : v2 69. Bạn có thể sử dụng bất kỳ phương thức mảng nào để lặp qua
k1 : v1 k2 : v2 04Chúng tôi có thể quyết định hủy cấu trúc mảng, vì vậy chúng tôi nhận được k1 : v1 k2 : v2 10 và giá trị
k1 : v1 k2 : v2 05Bạn có thể tìm hiểu thêm về cách lặp qua mảng trong bài viết này
kết thúc
Trong hướng dẫn này, bạn đã biết rằng cách tốt nhất để lặp qua một đối tượng là sử dụng bất kỳ phương thức tĩnh nào của đối tượng dựa trên nhu cầu của bạn để chuyển đổi thành một mảng trước khi lặp
Chúc các bạn code vui vẻ
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nhà phát triển Frontend & Người viết kỹ thuật
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu