JS中怎样创建特定长度的数组,方法有哪些
Admin 2022-06-30 群英技术资讯 1315 次浏览
在 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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
javascript实现两变量相加的方法:1、利用“+”运算符,语法为“x + y”,其表示变量x和变量y相加求和;2、利用“+=”运算符,语法为“x += y”,其表示变量x和变量y相加求和,并将运算结果赋值给变量x。
目录一.前言二.想法设计/实现过程三.基本样式四.时间函数控制器五,时,分,秒占位六.时间动态填充一.前言今天看到某网站的时间特别的丑陋,所以就诞生了写一个看时间的炫酷的时钟前端页面。 特点就是炫酷,特效好,个人以心情愉快的感觉。 对于时间的变化,我打算使用翻页的特效来完成,色系的话采用黑色以主题,给人一种神秘的感觉。
idea编译器出现Vue缩进报错,怎么解决呢,很多朋友遇到这个问题都很棘手,不知该如何解决,今天小编给大家通过场景分析介绍解决方案,需要的朋友参考下吧
axios避免重复请求的方法有什么?在实际的项目开发过程中,复点击导致多次调用接口的问题还是比较常见的,因此这篇文章就主要给大家介绍axios实现过滤多次重复请求的内容,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了Vue 服务端渲染SSR示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008