js 数组处理:生成自定义长度数组
您提到的问题是处理一个固定范围长度(4-8)的数组 arr 并根据一个自定义输入的数字 num 生成一个指定长度的数据列表。
解决方案:
横向计算:
function createlistdata(list, num = 600) { let count = list.reduce((n, i) => n + i.test, 0); let step = num / count | 0; //向下取整 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 = num / count | 0; //向下取整 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; }
登录后复制
以上就是如何用JS高效生成指定长度的自定义数组?的详细内容,更多请关注抖狐科技其它相关文章!
本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...
我们猜你喜欢
-
锐炫arc
锐炫arc a750 8g这个大家不陌生,但是想要解答更多的疑惑,就有点力不从心了。毕竟关于它,我们还有好多不甚了解。很多人甚至纠结说,到底锐炫arc a750 8g是不是N卡呢? 对于大家的好奇,我...
-
笔记本的显卡是干什么的
笔记本电脑中的显卡主要负责处理图形和视频数据,作用如下:图形处理:将计算机生成的图像转换为显示器像素视频处理:解码和播放视频文件,支持视频流加速 3d 应用程序:提高游戏、视频编辑和 cad 软件的图...
-
苹果腾讯视频vip自动续费怎么关闭
可通过苹果设备设置或 app store 取消苹果腾讯视频 vip 自动续订。具体步骤如下: 1. 通过设置关闭:打开“设置”->“apple id”->“订阅”->找到腾讯视频 vip 订阅并关闭“...
-
win7怎么搭建dns
在 windows 7 上搭建 dns 服务器包含以下步骤:安装 dns 服务器角色:通过服务器管理器添加“dns 服务器”角色。配置 dns 服务器:设置 dns 转发器,创建区域视图,并添加 dn...
-
《原神》荆棘与勋冠第3关满分通关攻略
在《原神》荆棘与勋冠活动中,玩家将面对每一关分为2轮的战斗,每轮战斗中都有不同的挑战。特别是第三关需要玩家破除大灵显化身的护盾或元素护罩达到指定次数才能通关。面对这些困难,php小编百草为大家准备了详...