JavaScript数组长度如何动态控制在4到8之间?

javascript数组长度如何动态控制在4到8之间?

javascript 数组处理:生成动态长度范围数组

javascript 中,数组是一个动态数据结构,其长度可以随时变更。本问答将介绍如何使用 javascript 创建一个数组,其最小长度为 4,最大长度为 8。

题目:

已知数组 arr 的最小长度为 4,最大长度为 8,现有一个自定义输入的数字 num,需要根据 num 的值动态生成一个数组。请提供 javascript 代码实现。

立即学习“Java免费学习笔记(深入)”;

解决方案:

横向计算:

function createlistdata(list, num = 600) {
  // 计算数组总长度
  let count = list.reduce((n, i) => n + i.test, 0);

  // 计算单元格宽度
  let step = math.floor(num / count);

  // 创建数据并计算单元格值
  let data = list.map((item, index) => {
    return array.from({ length: item.test }).map((citem) => {
      return {
        min: 0,
        max: 0,
      };
    });
  });

  // 计算最大单元格值
  let max = math.max(...list.map((i) => i.test));

  // 遍历并填充各个单元格的值
  let value = 0,
    idx = 1;
  for (let index = 0; index < max; index++) {
    data.foreach((item) => {
      if (item[index]) {
        item[index].index = idx++;
        item[index].min = value + 1;
        value += step;
        item[index].max = num < value + step ? num : value;
      }
    });
  }

  return data;
}

竖向计算:

function createListData(list, num = 600) {
  // 计算数组总长度
  let count = list.reduce((n, i) => n + i.test, 0);

  // 计算单元格宽度
  let step = Math.floor(num / count);

  // 计算单元格值
  let value = 0,
    idx = 1;
  let data = list.map((item, index) => {
    return Array.from({ length: item.test }).map((citem) => {
      let start = value;
      value += step;
      return {
        index: idx++,
        min: start + 1,
        max: num < value + step ? num : value,
      };
    });
  });

  return data;
}

以上就是JavaScript数组长度如何动态控制在4到8之间?的详细内容,更多请关注硕下网其它相关文章!