我有一个函数遍历乘积categories
数组,其中每个类别可能具有包含children
的{{1}}数组,并且每个子类别也可能具有子级直到n级。 >
我有sub-categories
数组和categories
,我想像我的函数一样搜索
category_id
即使找到类别,它也始终返回null。我在做错什么?
答案 0 :(得分:2)
您还需要在循环中返回找到的结果。
您可以为类别添加默认数组,这对于未指定子项很重要。
function findCategory(categories = [], category_id) {
let category;
for (let i = 0; i < categories.length; i++) {
if (categories[i].id === category_id) {
return categories[i];
}
if (category = this.findCategory(categories[i].children, category_id)) {
return category;
}
}
}