Hello! 欢迎来到小浪资源网!



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


avatar
1986424546 2024-11-17 39

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; }

相关阅读