Ia mungkin agak berbelit-belit, tetapi spesifikasinya adalah seperti ini. Data diterima daripada antara muka, dan strukturnya lebih kurang seperti ini:
[
{
id: '1',
name: '',
child: [
{id: '5',
name: 'aaa',
child: [
{
id: '1',
name: 'aaa',
child: [
{
id: '1',
name: 'aaa',
child: [
]
}
]
}
]
}
]
},
{
id: '2',
name: '',
child: [
]
}
]
Setiap bahagian data dalam setiap lapisan mempunyai ID bebas, kemudian terdapat medan anak sepadan dengan lapisan kedua data, dan lapisan kedua data juga mempunyai medan anak sepadan dengan lapisan ketiga data, dsb. .
Adakah terdapat cara yang lebih cekap untuk mendapatkan nama yang sepadan daripada data pokok ini melalui id yang ditentukan? Mencari fungsi pembalut
Saya menulis demo berdasarkan permintaan anda dan sampel data yang anda berikan. Saya tidak tahu sama ada ia memenuhi keperluan anda. Kembalikan objek semasa melalui id yang ditentukan
Hasil jalankan
Nota:
demo( data, id )
中的id
mestilah unikCara yang betul: Rekursi;
Cara yang salah: Selepas objek JSON.Stringify, selepas memadankan "id":"xx" dengan ungkapan biasa, dapatkan rentetan pertama antara "nama:" dan ","