【发布时间】:2016-12-19 18:49:36
【问题描述】:
我希望有人能指出我正确的方向。
我有一个 JavaScript 对象,如下所示...
var category = [{
isExpanded: false,
name: "Electricals",
subcategories: [{
isExpanded: false,
name: "Audio",
subcategories: null
}, {
isExpanded: false,
name: "Photography",
subcategories: null
}]
}, {
isExpanded: false,
name: "Telecoms",
subcategories: [{
isExpanded: false,
name: "Mobile",
subcategories: null
}, {
isExpanded: false,
name: "Sim-cards",
subcategories: null
}]
}, {
isExpanded: false,
name: "Entertainment",
subcategories: [{
isExpanded: false,
name: "Gaming",
subcategories: [{
isExpanded: false,
name: "Games",
subcategories: null
}]
}, {
isExpanded: false,
name: "Sports",
subcategories: null
}]
}];
我的目标是遍历每个类别/子类别并根据我的逻辑设置“isExpandable”的值。有人可以建议我如何遍历对象的每个子类别,记住一个子类别并且还有一个子类别等等?
这是我目前的尝试......
function blah() {
for (var i = 0; i < category.length; i++) {
if (category[i].subcategories) {
console.log(category[i]);
traverseCategoryTree(category[i]);
}
}
}
function traverseCategoryTree(category) {
//iterate each subcategory and update is Expanded.
}
blah();
【问题讨论】:
-
使用递归函数
标签: javascript recursion iteration tree-traversal