数组是可变有序的集合,可以存储任意的数据类型,JavaScript 的数组表示符号是 []
。
[1, 2, 3.14, 'Hello', null, true, [], {}] // 数组结构
// 注意:用 typeof 验证数组的类型返回的是 'object' ,合理的情况返回的应该 'array',这也是 JavaScript 的坑之一,详细的 “类型检测” 请查看后面相关章节
typeof [] // "object"
// 创建
var arr = [1,2,3]
// 取值
console.log(arr[1]) // 2
// 赋值
arr[0] = 'a'
console.log(arr) // ['a',2,3]
常用的一些数组操作方法。
[].length // 0 | 长度
[1,2,3].indexOf(2) // 元素首次出现的索引位置,不存在返回 -1
['a','b','c'].slice(0,2) // 'bc' | 切片,从第 0 位到第 2 位
[1,3,2].sort() // [1,2,3] | 排序
[1,3,2].reverse() // [2,3,1] | 反转
/* push 添加元素到末尾,并返回最新长度 */
var arr = [1,2]
console.log(arr.push(3)) // 3
console.log(arr) // [1,2,3]
/* pop 弹出数组最后的元素 */
var arr = [1,2,3]
console.log(arr.pop()) // 3
console.log(arr) // [1,2]
/* unshift 添加元素到开头,并且返回最新长度 | 相反的 push */
/* shift 弹出数组第一个元素 | 相反的 pop */
/* concat 合并 */
var a = [1,2]
var b = ['a', 'b']
var c = a.concat(b)
console.log(c) // [1, 2, "a", "b"]
/* splice 替换 */
var arr = [1,2,3]
console.log(arr.splice(1,2,'a')) // 从 1 位开始替换掉 2 位 | 并且返回被替换的值 [2,3]
console.log(arr) // [1,'a']
/* splice 删除 */
var arr = [1,2,3]
console.log(arr.splice(1,2)) // 从 1 位开始删除掉 2 位 | 并且返回被删除的值 [2,3]
console.log(arr) // [1]