javascript在嵌套数组中查找对象 变量类别组=[ { Id:1,类别: [ {Id:1}, {Id:2}, ] }, { Id:2,类别:[ {Id:100}, {Id:200}, ] } ] 变量类别,categoryGroup,found=false; 对于(i=0;i
我已创建了嵌套数组。从该嵌套数组中,我希望打印嵌套数组的对象。但找不到嵌套数组的对象。如何解决此错误?javascript在嵌套数组中查找对象 变量类别组=[ { Id:1,类别: [ {Id:1}, {Id:2}, ] }, { Id:2,类别:[ {Id:100}, {Id:200}, ] } ] 变量类别,categoryGroup,found=false; 对于(i=0;i,javascript,html,Javascript,Html,我已创建了嵌套数组。从该嵌套数组中,我希望打印嵌套数组的对象。但找不到嵌套数组的对象。如何解决此错误? var categorygroup=[ { Id:1,类别: [ {Id:1}, {Id:2}, ] }, { Id:2,类别:[ {Id:100}, {Id:200}, ] } ] forEach(函数(categoryGroup){ 日志(categoryGroup.Id); var category=categoryGroup.Categories.filter(函数(类别){ retu
var categorygroup=[
{
Id:1,类别:
[
{Id:1},
{Id:2},
]
},
{
Id:2,类别:[
{Id:100},
{Id:200},
]
}
]
forEach(函数(categoryGroup){
日志(categoryGroup.Id);
var category=categoryGroup.Categories.filter(函数(类别){
return categoryGroup.Id==category.Id
});
category.length&&console.log(category);
})
移动中断代码>位于输出下方,因为break
结束迭代,后面的内容不会执行
<html>
<body>
<script type="text/javascript">
var categoryGroups = [
{
Id: 1, Categories:
[
{ Id: 1 },
{ Id: 2 },
]
},
{
Id: 2, Categories: [
{ Id: 100 },
{ Id: 200 },
]
}
]
var category, categoryGroup, found = false;
for (i = 0; i < categoryGroups.length ; i++) {
categoryGroup = categoryGroups[i];
for (j = 0; j < categoryGroup.Categories.length; j++) {
category = categoryGroup.Categories[j];
if (category.Id === categoryGroup.Id) {
found = true;
break;
window.document.write("category" );
}
}
if (found) break;
}
</script>
</body>
</html>
var categoryGroups=[{Id:1,类别:[{Id:1},{Id:2},]},{Id:2,类别:[{Id:100},{Id:200},]},
category,categoryGroup,found=false,i,j;
对于(i=0;i if(category.Id==categoryGroup.Id){
发现=真;
window.document.write(“category”+category.Id);//交换
中断;//行
}
}
如果(发现)断裂;
}
要打印哪个对象?我想打印此嵌套数组的任何一个对象,例如{Id:1}
?你怎么处理category.Id===categoryGroup.Id
?是的。像这样只有category.Id===categoryGroup.Id我用这个查找子对象而不是Id:1。如果必须打印Id:2。那么我必须做什么修改?你从哪里得到2
?是否只是在id相同的地方,但数组中的另一个id
?从上面的代码中,我得到输出“category 1”。同样地,假设我必须打印“category 2”。我必须做什么?我不明白从哪里得到2?
window.document.write("category");
break;