Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menukar Susunan Data Hierarki Rata dengan Cekap kepada Struktur Pokok Bersarang dalam JavaScript?
Membina Struktur Pokok daripada Data Tatasusunan Rata dalam JavaScript
Apabila bekerja dengan data hierarki yang kompleks, ia menjadi perlu untuk menyusunnya menjadi pokok- seperti struktur untuk analisis dan pembentangan. Dalam kes ini, fail JSON yang dipesan mengandungi data dengan setiap entri mempunyai id, parentId, tahap dan teks. Tugasnya adalah untuk menukar struktur data rata ini kepada hierarki bersarang.
Untuk mencapai transformasi ini dengan cekap, adalah penting untuk memanfaatkan strategi carian peta. Ini melibatkan mencipta peta yang memetakan setiap id ke indeksnya dalam senarai. Dengan menggunakan peta ini, hierarki bersarang boleh dibina dalam satu laluan, menghapuskan keperluan untuk berbilang gelung.
Fungsi JavaScript berikut menunjukkan pendekatan carian peta untuk membina struktur pokok:
function list_to_tree(list) { var map = {}, node, roots = [], i; for (i = 0; i < list.length; i += 1) { map[list[i].id] = i; // initialize the map list[i].children = []; // initialize the children } for (i = 0; i < list.length; i += 1) { node = list[i]; if (node.parentId !== "0") { // if you have dangling branches check that map[node.parentId] exists list[map[node.parentId]].children.push(node); } else { roots.push(node); } } return roots; }
Dengan mencipta peta untuk mengakses ibu bapa dengan pantas dan memulakan senarai anak untuk setiap nod, fungsi ini boleh menggabungkan kedua-dua gelung untuk dengan cekap. Pendekatan ini menyokong berbilang akar dan boleh mengendalikan dahan berjuntai atau mengabaikannya dengan pengubahsuaian mudah.
Untuk menunjukkan kefungsian fungsi, anda boleh melaksanakannya dengan input berikut:
var entries = [{ "id": "12", "parentId": "0", "text": "Man", "level": "1", "children": null }, { "id": "6", "parentId": "12", "text": "Boy", "level": "2", "children": null }, { "id": "7", "parentId": "12", "text": "Other", "level": "2", "children": null }, { "id": "9", "parentId": "0", "text": "Woman", "level": "1", "children": null }, { "id": "11", "parentId": "9", "text": "Girl", "level": "2", "children": null } ]; console.log(list_to_tree(entries));
Ini akan mengeluarkan struktur pokok hierarki dengan hubungan yang dijangkakan antara nod. Dengan memanfaatkan strategi carian peta, pendekatan ini menawarkan penyelesaian yang cekap dan fleksibel untuk mengubah data hierarki rata kepada tatasusunan pokok yang tersusun dengan baik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Susunan Data Hierarki Rata dengan Cekap kepada Struktur Pokok Bersarang dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!