JavaScript - 将数组中的每 3 个项目包装到一个 div 中

标签 javascript arrays modulus

我有一个包含 50 个项目的数组。

我想将每 3 个项目包装到 <div> .

我正在绞尽脑汁试图实现这一目标,但我无法让它发挥作用


var cards = [];

for(var i=0; i < 50; i++){
    cards.push('<div class="card-item">Test</div>');
}

for(var i = 0; i < cards.length; i++){
    if(i % 3 === 0){
        let slides = populateSlide(cards[i]);
        console.log(slides);
    }
}

populateSlide = (cards) => {
    return `<div class="carousel-item item">${cards}</div>`;
}

使用上面的代码,我只能在每次 3 的乘法中获得一个项目。因此我的 div只有单个项目而不是三个。

提前致谢。

最佳答案

您可以将卡片存储在临时数组中并检查其长度。像这样的东西:

{
  const populateSlide = cards => {
      console.log(cards)
  }
  const cards = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  let cardsTriple = []; // the temporary array

  cards.forEach( card => {
      cardsTriple.push(card); // add card to temp array
      if(cardsTriple.length === 3){
          let slides = populateSlide(cardsTriple);
          cardsTriple = []; // reset the temp array
      }
  });

  // there may still be cards available
  if (cardsTriple.length) {
    populateSlide(cardsTriple);
  }
}
.as-console-wrapper { top: 0; max-height: 100% !important; }

关于JavaScript - 将数组中的每 3 个项目包装到一个 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60334675/

相关文章:

java - 在java方法中从数据库返回数据数组

c - 该程序的模运算步骤

用于创建元素行的 Angular2 模数功能

javascript - node.js 的最佳 Facebook 连接库是什么?

javascript - 旋转变换后调整div大小时如何保留左上角位置?

java - 索引帮助 Java

PHP 字符串到 hashmap

JavaScript Base64 加密的 url,在 Objective-C 中解密

javascript - 如何更改对象属性的值

java - 数组:对象或变量