Rumah > Soal Jawab > teks badan
var arr=[{
name:"总队",
id:"1",
alias:"zongdui",
children:[{
name:"第一支队",
id:"2",
parent_id:"1",
children:[
{
name:"第一大队",
id:"4",
parent_id:"2"
}
]},
{
name:"第二支队",
id:"3",
parent_id:"1",
children:[
{
name:"第二大队",
id:"5",
parent_id:"2"
}
]
}]
}]
Bagaimana untuk mendapatkan nama dan id secara rekursif daripada json ini? Minta kod
高洛峰2017-05-16 13:01:57
var arr = [{
name:"总队",
id:"1",
alias:"zongdui",
children:[{
name:"第一支队",
id:"2",
parent_id:"1",
children:[
{
name:"第一大队",
id:"4",
parent_id:"2"
}
]},
{
name:"第二支队",
id:"3",
parent_id:"1",
children:[
{
name:"第二大队",
id:"5",
parent_id:"2"
}
]
}]
}];
function headFor(o, cb){
if (!o) return;
o.forEach(child => {
cb(child);
if (child.children) {
headFor(child.children, cb);
}
});
}
var res = [];
headFor(arr, function(o){
var temp = {
name: o.name,
id: o.id,
parent_id: o.id
};
res.push(temp);
});
res.forEach(e => console.log(e));
console.log(JSON.stringify(res));
Saya menjawab soalan yang hampir sama. . .
/q/10...
过去多啦不再A梦2017-05-16 13:01:57
var ret = [];
while (arr != []) {
ret.push({
'name': arr[0]['name'],
'id': arr[0]['id'],
)
arr = arr['children'];
}
console.log(ret);
过去多啦不再A梦2017-05-16 13:01:57
arr2 = []
function arr_mat(arr){
for(var i=0;i<arr.length;i++){
if(arr[i].children.length > 0){
// // arr2.push({
// // 'name':arr[i].children.name
// // });
console.log(arr[i].children);
arr_mat(arr[i].children);
}
}
}
arr_mat(arr);
Mengapa saya tidak boleh melakukan ini
巴扎黑2017-05-16 13:01:57
Anda boleh menggunakan fungsi json_decode untuk menukar rentetan json kepada operasi tatasusunan