题目描述:
数组一:
arr = [
{categoryid: 1, title: "语言"},
{categoryid: 2, title: "音乐"}
]
数组二:
brr= [
{courseid: 1, categoryid: 1, title: "写作入门"},
{courseid: 2, categoryid: 1, title: "作文进阶"},
{courseid: 3, categoryid: 2, title: "摇滚乐欣赏"},
{courseid: 4, categoryid: 2, title: "流行歌曲"}
]
需要做成二级联动的效果
因为用的iview的框架,需要处理成如下图,Cascader 级联选择的数据结构
let _childer_callback = function(categoryid) {
let children = [];
for (let item of brr) {
if (item.categoryid == categoryid) {
children.push({
value: item.courseid,
label: item.title
});
}
}
return children;
};
let _arrange_data = [];
for (let category of arr) {
_arrange_data.push({
value: category.categoryid,
label: category.title,
children:_childer_callback(category.categoryid)
});
}
this.lessonList = _arrange_data;
console.log(this.lessonList);
最后结果:
拿到了想要的数据结构。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。