引言:本文归纳了 JS 创建数组的四种方法、数组空位使用须知、数组判断方法、值的获取方法和
.length()长度方法的使用场景
创建数组 (Create Arrays)
四种方法
- ✅字面量标记法
[ ](常用) - 使用数组构造函数
new Array() - 静态方法 (ES6)
Array.from()(接收类数组对象)Array.of()(接收多个值参数)
使用案例
创建一个空数组
let colors = [ ]let colors = new Array();
创建一个 20 位的空数组
let colors = new Array(20);let colors = Array(20); // 可省略 'new'
创建数组 ["red", "blue", "green"]
- 字面量标记法:
let colors = ["red", "blue", "green"]; - 构造函数法:
let colors = new Array("red", "blue", "green"); - 静态方法:
let colors = Array.of("red", "blue", "green");
创建含 3 个值为 1 元素的数组 ([1, 1, 1])
- 法 1:
Array.from({ length: 3}, () => 1) - 法 2:`Array(3).fill(1,0,2)
获取或设置数组元素值
[].at(0)等价于arr[0]
数组空位(Array Holes)
数组空位含义
数组中的连续逗号间即为空位,如:const arr = [,,,]
alert(arr.length) // 3alert(arr) // [,,,]
注意事项
尽量用
undefined代替数组空位
- ES6 中数组空位值全等于 (===)
undefined - 不同默认值
alert([1,,,,5].map(() => 6));输出[6,undefined,undefined,undefined,6]alert([1,,,,5].join('-'));输出"1----5"
判断值是否为数组
Array.isArray(value)
数组长度方法用途 (.length())
let arr = [foo, bar]
- 获取数组长度:
arr.length() // 2
- 获取最后一个数组元素:
arr[arr.length-1] // bar
- 删除末尾元素:
arr.length = 1 // -> arr = [foo]
- 末位添加元素:
arr[arr.length] = "baz" // -> arr = [foo, bar, baz]