JS中怎样创建特定长度的数组,方法有哪些
Admin 2022-06-30 群英技术资讯 1547 次浏览
在 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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了微信小程序实现滚动Tab选项卡,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文给大家介绍vue3组合API中setup、 ref、reactive的用法,初步了解reactive的使用及具体用法,通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
在Node.js中使用在Typescript中使用在Deno中使用3.APIParamMap:具有字符串键的对象urlcat:构建完整的 URLquery:构建查询字符串subst:替换路径参数join:使用
本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于分支优化的相关内容,如果有许多个判断条件,使用大量的if分支会使整个代码的可读性和可维护都大大降低,下面一起来看一下,希望对大家有帮助。
本文给大家介绍vue插槽,对于vue插槽我们之前也有了解过,本文就给大家来介绍一下vue插槽的好处和vue插槽的使用,感兴趣的朋友可以了解看看,那么接下来就跟随小编来学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008