Javascript 如何以3块的形式迭代JSON对象?

Javascript 如何以3块的形式迭代JSON对象?,javascript,Javascript,所以我有一个json对象,它由nodejs提供服务 我想把文章分成3行,然后把div分成3行,放在包含文章信息的文章下面 for (var infoset in jsonObj){ createArtRow(jsonObj[infoset][info]); createDivRow(jsonObj[infoset][info]); // creates an article, then a div one at a time } 我遇到了一些问题,因为我不确

所以我有一个json对象,它由nodejs提供服务

我想把文章分成3行,然后把div分成3行,放在包含文章信息的文章下面

for (var infoset in jsonObj){
    createArtRow(jsonObj[infoset][info]);

    createDivRow(jsonObj[infoset][info]);
    
    // creates an article, then a div one at a time
}
我遇到了一些问题,因为我不确定如何加入一次只遍历3个对象的for循环

for (var infoset in jsonObj){
    for (var i = 0; i < 3; i ++) {
        createArtRow(jsonObj[infoset][info]);
    }
    for (var i = 0; i < 3; i ++){
        createDivRow(jsonObj[infoset][info]);
    }     
}
// ideally creates 3 articles, then 3 divs at a time.

我希望这是有意义的。

使用增量为3而不是1的循环

for (var i = 0; i < jsonObj.length; i += 3) {
    // here you can use jsonObj[i], jsonObj[i+1], and jsonObj[i+2] to create a row
}

使用增量为3而不是1的循环

for (var i = 0; i < jsonObj.length; i += 3) {
    // here you can use jsonObj[i], jsonObj[i+1], and jsonObj[i+2] to create a row
}

您可以使用模函数,我认为这是一种更清晰更可读的方法:

let i =0
for (var infoset in jsonObj){ 
  If (i % 3 == 0 ){
   createArtRow(jsonObj[infoset][info]); 
  }
   createDivRow(jsonObj[infoset][info]); 
   i++;
}
模数%函数通过将“i”除以%符号后的数字来工作。
如果余数是0,可以精确地除以3,那么它将是真的并执行代码。

您可以使用模函数,我认为这是一种更干净、更可读的方法:

let i =0
for (var infoset in jsonObj){ 
  If (i % 3 == 0 ){
   createArtRow(jsonObj[infoset][info]); 
  }
   createDivRow(jsonObj[infoset][info]); 
   i++;
}
模数%函数通过将“i”除以%符号后的数字来工作。
如果余数是0,可以精确地除以3,那么它将是真的,并执行代码。

您能再添加一点细节吗?可能需要一个jsonObj示例,并解释您希望看到哪些文章/div?哪一个是您的数组?在迭代中似乎没有使用变量i。换句话说,阿纳尔阿纳尔的数组,考虑使用LoaSub的块函数创建一个数组,包含3个元素:然后你会重复数组的数组。抱歉,我有点模糊,我会看到我可以添加什么而不使它过于复杂。你想让它们嵌套胡,是正确的术语。请为其他助手添加一个示例输出html。您可能需要编辑标题以反映实际问题!你能再详细一点吗?可能需要一个jsonObj示例,并解释您希望看到哪些文章/div?哪一个是您的数组?在迭代中似乎没有使用变量i。换句话说,阿纳尔阿纳尔的数组,考虑使用LoaSub的块函数创建一个数组,包含3个元素:然后你会重复数组的数组。抱歉,我有点模糊,我会看到我可以添加什么而不使它过于复杂。你想让它们嵌套胡,是正确的术语。请为其他助手添加一个示例输出html。您可能需要编辑标题以反映实际问题!