var a = [
{ name: "aa", children: [{ name: "aa1" }, { name: "aa2" }] },
{ name: "bb", children: [{ name: "bb1" }, { name: "bb2" }] },
{ name: "cc", children: [{ name: "cc1" }, { name: "cc2" }] },
{ name: "dd", children: [{ name: "dd1" }, { name: "dd2" }] },
{ name: "ee", children: [{ name: "ee1" }, { name: "ee2" }] },
];
var b = ["aa1","aa2","cc1", "bb2","dd1" ];
//目标对象
var mune = [
{ name: "aa", children: [{ name: "aa1" },{ name: "aa2" }] },
{ name: "bb", children: [{ name: "bb2" }] },
{ name: "cc", children: [{ name: "cc1" }] },
{ name: "dd", children: [{ name: "dd1" }] },
];
将对象数组a中不包含数组b里的元素的项去除
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
蔣伟平 2021-01-20 21:10关注var a = [
{ name: "aa", children: [{ name: "aa1" }, { name: "aa2" }] },
{ name: "bb", children: [{ name: "bb1" }, { name: "bb2" }] },
{ name: "cc", children: [{ name: "cc1" }, { name: "cc2" }] },
{ name: "dd", children: [{ name: "dd1" }, { name: "dd2" }] },
{ name: "ee", children: [{ name: "ee1" }, { name: "ee2" }] },
];
var b = ["aa1","aa2","cc1", "bb2","dd1" ];
for(var i=0;i<a.length;i++){
for(var j=0;j<a[i].children.length;j++){
if(b.indexOf(a[i].children[j].name)==-1){
a[i].children.splice(j,1);
j--;
}
}
if(a[i].children.length==0){
a.splice(i,1);
i--;
}
}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报