我已经走到这一步了。我想创建一个函数,以便我可以创建 2、3 或 4 个组。当我这样做时,我只是将数组每组中的第一个名称作为打印在页面上的 P 元素获取。我怎样才能做到不同呢? <!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <div id="classListSection"></div> <script> let longList = [alot of names..]; const classList = document.getElementById("classListSection"); function createListItem(index, value) { let newList = document.createElement("p"); newList.innerHTML = index + value; classList.appendChild(newList); } function chunkArray(arr, val) { let finalArr = []; for (let i = 0; i < arr.length; i += val) { finalArr.push(arr.slice(i, val + i)); createListItem(i, longList[i]); } } chunkArray(longList, 3); </script> </body></html>
1 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
你快到了。Array.prototype.slice
返回数组的一部分而不修改原始数组。您只需要将结果传递给您的createListItem
方法
let longList = "abcdefghijklmnopqrstuvwxyz".split('');
const classList = document.getElementById("classListSection");
function createListItem(index, value) {
let newList = document.createElement("p");
newList.innerHTML = index + value;
classList.appendChild(newList);
}
function chunkArray(arr, val) {
for (let i = 0; i < arr.length; i += val) {
createListItem(i, arr.slice(i, i + val));
}
}
chunkArray(longList, 3);
<div id="classListSection"></div>
如果您将最后一行更改为chunkArray(longList, 2);
每组将有 2 个项目,或者chunkArray(longList, 4);
将有 4 个项目。
添加回答
举报
0/150
提交
取消