javascript 计算链接的数量并将其分为3组

yzuktlbb  于 2023-03-28  发布在  Java
关注(0)|答案(3)|浏览(94)

我正在为自己开发一个网页,我正在使用API获取教程的链接。问题是,有很多链接要点击。
JavaScript中有没有什么方法可以将链接分成3组,并有3个按钮,单击它们可以打开组中的所有链接?比如,“打开第一个1/3”,“打开第二个1/3”和“打开最后一个1/3”?
我试着用3除links.length,但它给了我一个十进制的结果,比如当链接数是31时,我得到10.3333333333
我真的很茫然。任何帮助都将不胜感激。我知道这个问题听起来有点为我做的类型,但相信我,它不是。只要引导我到正确的方向就足够了。
谢谢

z0qdvdin

z0qdvdin1#

我想这个会有帮助。

const linksCount = links.length;
const linksPerGroup = Math.ceil(linksCount / 3);

const firstGroupLinks = links.slice(0, linksPerGroup);
const secondGroupLinks = links.slice(linksPerGroup, linksPerGroup * 2);
const lastGroupLinks = links.slice(linksPerGroup * 2);

corresponding links

document.querySelector('#openFirstGroupButton').addEventListener('click', () => {
  firstGroupLinks.forEach(link => window.open(link));
});

document.querySelector('#openSecondGroupButton').addEventListener('click', () => {
  secondGroupLinks.forEach(link => window.open(link));
});

document.querySelector('#openLastGroupButton').addEventListener('click', () => {
  lastGroupLinks.forEach(link => window.open(link));
});
xzlaal3s

xzlaal3s2#

您可以创建链接块,告诉大小:

let links = [];//links array
let groupArr = [];
const groupSize = 3;
for (let i = 0; i < links.length; i += groupSize) {
  const chunk = links.slice(i, i + groupSize);
  groupArr.push(chunk);
}
mpbci0fu

mpbci0fu3#

由于链接数是整数,为什么不将其四舍五入,如:
如果你有20个链接,你把你的链接分成7-7-6?
所以你要做:

const list = [
   // whatever lists you have here
  ]; 
  const take = Math.ceil(list.length / 3);

  const firstList = links.slice(0,take);
  const secondList = links.slice(take, take*2);
  const thirdList = links.slice(take*2); // this will take until the end

相关问题