Javascript对象数组循环未中断
我的Javascript对象数组循环未中断,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我的for循环有问题。问题是我有一个的,它正在穿过一个对象,并且只穿过数组一次。如何循环整个对象数组循环?当前代码如下: var i = 0; for (var key in data) { console.log(data[key].allProducts[i]); i++; } 您只有一个循环试图控制两个变量,这不是您想要做的。假设数据键类似于['a'、'b'、'c'],那么您实际上得到的是数据['a'][1]、数据['b'][2]、数据['c'][3] 您需要的是两个嵌套循环:
for
循环有问题。问题是我有一个的,它正在穿过一个对象,并且只穿过数组一次。如何循环整个对象数组循环?当前代码如下:
var i = 0;
for (var key in data) {
console.log(data[key].allProducts[i]);
i++;
}
您只有一个循环试图控制两个变量,这不是您想要做的。假设数据键类似于
['a'、'b'、'c']
,那么您实际上得到的是数据['a'][1]、数据['b'][2]、数据['c'][3]
您需要的是两个嵌套循环:
for (var key in data) {
var productsLength = data[key].allProducts.length;
for (var i = 0; i < productsLength; i++) {
console.log(data[key].allProducts[i]);
}
}
for(变量输入数据){
var productsLength=data[key].allProducts.length;
对于(变量i=0;i
既然您在这里使用索引,为什么不立即使用循环呢?那么您就不需要访问属性本身了
根据您的数据
对象,您可能需要使用或坚持上一个循环,但我想原则很清楚:)
const数据={
第一组:{
所有产品:[
{id:1,名称:'product 1'},
{id:2,名称:'product 2'},
{id:3,名称:'product 3'},
{id:4,名称:'product 4'}
]
},
第2组:{
所有产品:[
{id:5,名称:'product 5'}
]
}
};
对于(让对象项。值(数据)){
对于(项目的产品。所有产品){
控制台日志(产品);
}
}
从内部数组中添加一个内部循环。另外,如果数据上只有一个属性,那么在外部循环中就没有意义了。如果没有看到JSON@Talpar是正确的,那么很可能需要一个内部循环来实际遍历内部数据。你能添加JSON吗?什么是数据
?如果你能向我们展示结构并指出你试图循环的内容,我们可以提供帮助data
似乎是一个对象,您正在key
(data[key]
)上循环-但您是否在问,如果data[key]
是一个数组,如何循环存储的值?可能是重复的。我试图找到避免做内部循环的方法。谢谢你的帮助。