Nếu các tập hợp lồng nhau không phải là một tùy chọn, tôi biết về những điều sau:
- Nếu dữ liệu được sắp xếp theo thứ tự sao cho các con của cha mẹ luôn theo sau dữ liệu đó, thì bạn có thể giải quyết vấn đề này bằng một truy vấn cơ sở dữ liệu trên tất cả dữ liệu bằng cách bỏ qua các nút ẩn trong đầu ra.
Điều này cũng hoạt động như nhau với một tập hợp lồng nhau được sắp xếp, nguyên tắc đã được nêu trong câu trả lời này tuy nhiên, các thuật toán về việc lấy độ sâu không hoạt động và tôi sẽ đề xuất một trình lặp đệ quy có thể xóa các mục ẩn.
Ngoài ra, nếu dữ liệu không được sắp xếp theo thứ tự, bạn có thể tạo cấu trúc cây từ truy vấn (không được sắp xếp) của tất cả các hàng như được nêu trong câu trả lời cho Mảng lồng nhau. Cấp độ thứ ba đang biến mất
. Không cần đệ quy và bạn sẽ có được một cấu trúc mà bạn có thể dễ dàng xuất ra sau đó, lẽ ra tôi nên đề cập đến điều đó cho <ul>/<li>
cũng xuất ra kiểu html trong một câu trả lời khác.
- Trả lời cho Làm cách nào để chuyển đổi một loạt các mối quan hệ mẹ-con thành một cây phân cấp ?
- Trả lời cho Cách lấy danh sách HTML lồng nhau từ tập bản ghi mảng của đối tượng?