js稀疏数组和密集数组

最近忽然发现新的名词,特此记录一下,其实稀疏数组和密集数组在平时经常会用到,只是没有发现它的真实名字

稀疏数组

稀疏数组:数组中大部分内容没有被使用,为空位

那么如何创建稀疏数组呢?
(1)

// 最常见的创建方式
let arr = new Array(3)

这里创建了一个长度为3的数组,那我们看一下打印结果
在这里插入图片描述
这里要注意一下,不是undefined,而是3个空位

(2)

let arr = [];
arr[100] = 1 ;

我们在看一下打印结果,在这里插入图片描述
创建了1个前100都为空位,只有101位赋值成1的数组

密集数组

我理解密集数组,就是每一位都有内容,只要不是empty,就算内容为undefined,也属于密集数组

那如何去创建内容为undefined的数组,即如何去创建密集数组呢?

(1)通过使用ES6数组的fill(),为数组中填内容,这里用0将数组填满

// 使用ES6的数组fill API
let arr = new Array(3).fill(0);

在这里插入图片描述

(2)使用…扩展运算符

let arr = new Array(...Array(3));

看一下打印结果,数组内元素均被赋值为undefined
在这里插入图片描述
(3) 使用Array.from()

let arr = Array.from({length:3});

观察打印结果
在这里插入图片描述
可以看出,此方法也仍然可以实现

如有错误,请及时帮我纠正,谢谢各位大佬~

你可能感兴趣的:(语法,js,javascript)