js 将一个数组分成指定的份数?
例如: [1,2,3,4,5]
份数:3 结果:[[1],[2],[3,4,5]]
份数:2 结果:[[1,2],[3,4,5]]
份数:1 结果:[[1,2,3,4,5]]
js 将一个数组分成指定的份数?
例如: [1,2,3,4,5]
份数:3 结果:[[1],[2],[3,4,5]]
份数:2 结果:[[1,2],[3,4,5]]
份数:1 结果:[[1,2,3,4,5]]
有帮助望采纳~~~~~
效果截图:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Split Array Demo</title>
<script>
function splitArray(arr, num) {
// 如果份数小于等于1,直接返回包含整个数组的结果
if (num <= 1) {
return [arr];
}
// 计算每一部分的长度
const length = Math.ceil(arr.length / num);
const result = [];
// 使用循环进行分割
for (let i = 0; i < arr.length; i += length) {
// 使用 slice 方法按照指定长度进行分割
result.push(arr.slice(i, i + length));
}
// 返回分割后的结果数组
return result;
}
function splitAndDisplayArray() {
const arr = [1, 2, 3, 4, 5];
const num = document.getElementById("num").value;
const result = splitArray(arr, num);
const output = document.getElementById("output");
output.innerHTML = JSON.stringify(result);
}
</script>
</head>
<body>
<h1>Split Array Demo</h1>
<p>数组: [1, 2, 3, 4, 5]</p>
<label for="num">份数:</label>
<input type="number" id="num" min="1" value="3">
<button onclick="splitAndDisplayArray()">分割数组</button>
<h2>结果:</h2>
<pre id="output"></pre>
</body>
</html>
核心代码:
function splitArray(arr, num) {
// 如果份数小于等于1,直接返回包含整个数组的结果
if (num <= 1) {
return [arr];
}
// 计算每一部分的长度
const length = Math.ceil(arr.length / num);
const result = [];
// 使用循环进行分割
for (let i = 0; i < arr.length; i += length) {
// 使用 slice 方法按照指定长度进行分割
result.push(arr.slice(i, i + length));
}
// 返回分割后的结果数组
return result;
}
const arr = [1, 2, 3, 4, 5];
console.log(splitArray(arr, 3)); // 输出: [[1], [2], [3, 4, 5]]
console.log(splitArray(arr, 2)); // 输出: [[1, 2], [3, 4, 5]]
console.log(splitArray(arr, 1)); // 输出: [[1, 2, 3, 4, 5]]
在上述代码中,splitArray 函数接受两个参数:待分割的数组 arr 和要分成的份数 num。如果 num 小于等于 1,那么直接返回包含整个数组的结果;否则,计算每一部分的长度,并用 slice 方法按照指定长度进行分割。最后返回分割后的结果数组。