JavaScript创建或填充任意长度的数组
发布日期: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]

以上方法可以根据开头需求灵活选择,最合适的取决于具体场景和性能需求。

上一篇:JavaScript一些常用 API整理汇总
下一篇:HTML中通过CSS方式隐藏元素

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年05月12日 16时58分28秒