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之间?的详细内容,更多请关注硕下网其它相关文章!