实用 JS 高程笔记:数组基础

119 阅读1分钟

引言:本文归纳了 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) // 3
  • alert(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]