JS中怎样创建特定长度的数组,方法有哪些
Admin 2022-06-30 群英技术资讯 1363 次浏览
在 JavaScript 开发中,经常需要有需要创建特定长度数组的场景,本文总结了几种创建或填充任意长度的数组的小技巧,学会了可以提升编程效率。
采用最原始的方法,手动填充所需长度的数组。
const arr = [0,0,0];
和第一种方法差不多,只是使用 for 循环创建特定长度的数组
var len = 3; var arr = []; for (let i=0; i < len; i++) { arr.push(0); }
var len = 3; var arr = new Array(len);
var len = 3; var arr = new Array(len).fill(0);
如果你用对象作为参数去 fill() 一个数组,所有元素都会引用同一个实例(也就是这个对象没有被克隆多份,Array.from() 则没有这个问题):
var len = 3; var obj = {}; var arr = new Array(len).fill(obj);
所以操作这个数组时应该比用构造函数创建的更快。不过创建数组的速度比较慢,因为引擎可能需要随着数组的增长多次重新分配连续的内存。
Array.from({length: 3}) // [ undefined, undefined, undefined ]
下面这种方式仅适用于可迭代的值,并且与 Array.from()具有类似的效果:
[...new Array(3)] // [ undefined, undefined, undefined ]
如果提供映射函数作为其第二个参数,则可以使用 Array.from() 进行映射。
Array.from({length: 3}, () => 0) // [ 0, 0, 0 ]
Array.from({length: 3}, () => ({})) // [ {}, {}, {} ]
Array.from({length: 3}, (x, i) => i) // [ 0, 1, 2 ]
var start = 2, end = 5; Array.from({ length: end - start }, (x, i) => i + start) // [ 2, 3, 4 ]
[...new Array(3).keys()] // [ 0, 1, 2 ]
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章给大家分享的是用JS怎样实现简易的搜索筛选功能。小编觉得挺实用的,能应用的场景很多,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
最近在做商城类的项目,需要使用到客服系统,用户选择的腾讯IM即时通信,所以本文主要介绍了vue实现集成腾讯TIM即时通讯,感兴趣的可以了解一下
本文详细讲解了Node.js进程管理之子进程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
本文实例为大家分享了canvas实现圆形流水动画的具体代码,供大家参考,具体内容如下
这篇文章主要为大家介绍了使用Vite处理css less及postcss的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008