【青山学js】基本引用类型之Array(上)

这是我参与更文挑战的第21天,活动详情查看: 更文挑战

在之前说基础类型和引用类型的时候,我们就说了,Array也属于Object的一种,当时没有细说,,这一节,我们就来详细了解一下数组。

什么是数组?

在js中,数组是一组有序的数据,就像整齐排列的一对小朋友一样,不同的是,它的每一项都可以是任意的类型,比如字符、数字、甚至也可以是一个数组。

['hello', 5, { name: 'zhangsan' }]
复制代码

怎么去创建一个数组

new Array

第一种创建数组的方法是使用构造函数。比如

let ary = new Array()
console.log(ary) // []
复制代码

如果我们在创建的时候想要指定数组有多少项,可以直接给构造函数传入一个数值,就可以创建一个固定长度的数组,只不过它的每一项都是空的,例如

let ary = new Array(3)
console.log(ary) // [empty × 3]
复制代码

如果我们在创建的时候,就知道每一项是什么,也可以直接将这些数据传给构造函数,例如

let ary = new Array('你', '好', 2021)
console.log(ary) //  ["你", "好", 2021]
复制代码

但需要注意的是,如我们上面的例子,当我们仅给构造函数传入一个值并且这个值是数字的时候,它会返回一个长度为我们传入数值的函数,而不是创建一个包涵该数字的数组。

在使用构造函数创建数组的时候,我们也可以省略new关键字

let ary = Array('a', 'b')
console.log(ary) // ["a", "b"]
复制代码

Array构造函数还有两个es6新增的用于创建数组的方法:from()of()

from()方法可以把字符串转为数组

let ary = Array.from('hello')
console.log(ary) // ["h", "e", "l", "l", "o"]
复制代码

of()方法则和直接使用构造函数没什么区别,可以把传进去的参数变为一个数组

let ary = Array.of('你', '好', 2021)
console.log(ary) // (3) ["你", "好", 2021]
复制代码

字面量方式创建

相比于用构造函数方式创建数组,字面量方式创建数组更方便,也更常见,我们只需要把一个想要的数组直接赋值给一个变量即可。

let ary = [1, 2, 3]
console.log(ary) // [1, 2, 3]
复制代码

数组空位

js允许我们在创建数组时给其中的任意项赋予空值,比如我们用字面量方式创建数组是,可以不用填任何值,仅输入一个逗号,就可以代表一个空值

let ary = [,,,]
ary.length // 3
复制代码

我们也可以仅在某些位置上留下空值

let ary = [1, 2, , , 3]
console.log(ary) // [1, 2, empty × 2, 3]
复制代码

注意:由于行为不一致和存在性能隐患,因此实践中要 避免使用数组空位。如果确实需要空位,则可以显式地用 undefined值代替。

今天就先到这了,祝大家有个好梦,晚安。

对了,我参加了年中征文活动,希望大家可以点个赞,评论一下

乘风破浪会有时,直挂云帆济沧海|2021 年中总结

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享