我正在整理一些 JavaScript,这些 JavaScript 将提取多个 JSON 文件,这些文件的数据将在图表中使用。最终,我需要确定何时到达$.each()
循环中正在处理的关联数组的绝对末端(涉及 jQuery),以便触发下一个 JSON 文件。我遇到了针对单层对象的各种解决方案……但是多层对象呢?最后一列中的最后一行如何知道它是最后一行?
这是我正在使用的 JSON 示例:
{
"Network":{
"Hardware":262464,
"Software":53016,
"Internal Personnel":440202,
"External Personnel":188658,
"Outside Services":1344100,
"Facilities and Overhead":16172,
"Other":92588,
"Total":2397200
},
"Wide Area Network":{
"Hardware":75600,
"Software":18900,
"Internal Personnel":132300,
"External Personnel":56700,
"Outside Services":315000,
"Facilities and Overhead":6300,
"Other":25200,
"Total":630000
}
}
这是我在那个 JSON 上运行的循环的粗略想法
function buildColumns(array, parent) {
$.each(array, function(key, value) {
var newParent = $('<column>');
$('<columnBox>').append($('<h2>').html(key)).append(newParent).appendTo(parent);
if(value instanceof Object) buildColumns(value, newParent);
});
}
如您所见,循环是伪递归的,最终可能不是我使用的。但是你去。