PSQ_family 2023-09-15 21:26 采纳率: 0%
浏览 28
已结题

javascript 将长度为5的数组 分成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]]

  • 写回答

19条回答 默认 最新

  • 语言-逆行者 2023-09-15 21:40
    关注
    获得0.45元问题酬金

    有帮助望采纳~~~~~
    效果截图:

    img


    完整代码:

    <!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 方法按照指定长度进行分割。最后返回分割后的结果数组。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 9月23日
  • 赞助了问题酬金15元 9月15日
  • 创建了问题 9月15日

悬赏问题

  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色