我希望有人能指出我正确的方向。
我有一个如下所示的 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();
最佳答案
function traverseCategoryTree(categories) {
for (var i = 0, len = categories.length; i < len; i++) {
console.log(categories[i]);
if (categories[i].subcategories) {
traverseCategoryTree(categories[i].subcategories);
}
}
}
traverseCategoryTree(category);
关于Javascript - 遍历对象并更新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38923327/