
JavaScript创建或填充任意长度的数组
三、在 Array 构造函数后加
四、使用
五、使用
六、使用
发布日期:2021-05-10 03:43:19
浏览次数:20
分类:精选文章
本文共 1381 字,大约阅读时间需要 4 分钟。
JavaScript 创建或填充任意长度的数组
在编程中,数组是我们常用的数据结构之一,能够存储多个数据项并进行变换。以下是创建或填充任意长度数组的几种常用方法。
一、直接填充法
最直接的方式是通过初始化数组的元素。例如:
const arr = [0, 0, 0];
这种方法在长度较短的情况下效率较高。
二、使用 Array 构造函数
可以通过 Array 构造函数指定数组长度,例如:
var len = 3;var arr = new Array(len);
这样创建的数组长度为3,但所有元素初始为 undefined
。
三、在 Array 构造函数后加 fill()
方法
为了初始化为指定值,我们可以使用 fill()
方法:
var len = 3;var arr = new Array(len).fill(0);
这样创建的数组长度为3,每个元素都被初始化为0。
此外,如果你用对象作为 fill()
方法的参数,所有元素将引用同一个实例(即对象未被克隆)。而 Array.from()
则不会有这个问题。
例如:
var len = 3;var obj = {};var arr = new Array(len).fill(obj);
四、使用 push()
方法
另一种常用方法是通过循环 push()
0到数组中:
var len = 3;var arr = [];for (let i = 0; i < len; i++) { arr.push(0);}
这种方法操作数组较快,但创建数组时可能较慢,因为引擎需要多次分配内存。
五、使用 undefined
填充数组
若需要数组初始化为 undefined
,可以使用以下方式:
例如:
Array.from({length: 3}) // [undefined, undefined, undefined]
或者:
[...new Array(3)] // [undefined, undefined, undefined]
六、使用 Array.from()
进行映射
如果需要通过映射函数填充数组,可以使用 Array.from()
:
Array.from({length: 3}, () => 0) // [0, 0, 0]
七、创建唯一对象数组
想要创建唯一对象数组,可以这样做:
Array.from({length: 3}, () => ({})) // [ {}, {}, {} ]
八、创建升序整数数组
要创建从0开始的升序整数数组:
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]
九、另一种创建升序整数数组的方法
使用 keys()
方法:
[...new Array(3).keys()] // [0, 1, 2]
以上方法可以根据开头需求灵活选择,最合适的取决于具体场景和性能需求。