Javascript 如何在ionic2的angular2中使用切换时构建阵列
我想在切换时构建一个对象数组Javascript 如何在ionic2的angular2中使用切换时构建阵列,javascript,arrays,angular,Javascript,Arrays,Angular,我想在切换时构建一个对象数组 var data = [ { catId : Vegitarian, subcats :[ { category : "potatoes", rank : 23, catId : "Vegitarian" },
var data = [
{ catId : Vegitarian,
subcats :[
{
category : "potatoes",
rank : 23,
catId : "Vegitarian"
},
{
category : "tomatoes",
rank : 2,
catId : "Vegitarian"
}
]
},
{ catId : "Non-vegetarian",
subcats :[
{
category : "appetizers",
rank : 3,
catId : "Non-vegetarian"
},
{
category : "nonveg-appitizers",
rank : 52,
catId : "Non-vegetarian"
}
]
}
]
我的html代码
结果我得到了什么
即使我取消选择了土豆
[
{
"catId": "vegetarian",
"subcats": [
{
"subCatId": "potatoes",
"catId": "vegetarian",
"rank ": 23,
"checked": true
},
{
"subCatId": "tomatoes",
"rank ": 2,
"catId": "vegetarian",
"checked": true
}
]
}
]
只是一个快速查看,但我认为你有错误的过滤。。。您必须返回布尔值:cats.subcats.filter(subCat=>{return subCat.checked=true}),以便快速查看,但我认为您的筛选错误。。。必须返回布尔值:cats.subcats.filter(subCat=>{return subCat.checked=true})
this.result=[];
checkCats(catObj) {
this.result = this.data.filter(cats => {
if ((cats.checked == true) && (cats.subcats.length != 0)) {
cats.subcats.filter(subCat => {
subCat.checked = true
})
return cats
} else if ((cats.checked == true) && (cats.subcats.length == 0)) {
return cats
} else if ((cats.checked == false) && (cats.subcats.length != 0)) {
cats.subcats.filter(subCat => {
subCat.checked = false
})
}
})
}
[
{
"catId": "vegetarian",
"subcats": [
{
"subCatId": "potatoes",
"catId": "vegetarian",
"rank ": 23,
"checked": true
},
{
"subCatId": "tomatoes",
"rank ": 2,
"catId": "vegetarian",
"checked": true
}
]
}
]