本文提供了一段 JavaScript 代码,用于递归遍历包含 children 属性的 JSON 对象。通过闭包和递归调用,提取 name 字段并存储到数组中,适用于处理层级数据。
JavaScript 递归遍历 JSON 树形结构代码
代码如下:
var l = json.length;
var arr = [];
for (var i = 0; i < l; i++) {
(function () {
var jsonArray = arguments[0];
for (var k in jsonArray) {
if (k.indexOf('children') != -1 && jsonArray[k] != null) {
arguments.callee(jsonArray[k]);
}
} else {
if (k == 'name' || k == 'children') {
arr.push(jsonArray[k] + '');
}
}
}
})(json[i]);
} JSON 数据格式如下所示:
代码如下:
[{"id":"001","name":"上海市浦东新区","children":{"id":"002","name":"上海市徐汇区"}}]