Array
Array对象是用于构造数组的全局对象.
概述
数组对象是一个有序的数据(原始类型或对象类型)集合, 是一种类列表对象,它的原型提供了数组操作的方法.
数组只能用整数作为数组元素的索引,而不是字符串,且从0开始,第一个元素的索引为0.使用非整数并通过[]
或.
来访问数组或设置数组元素时,所操作的并不是数组列表的元素,而是数组对象属性集合上的变量.数组对象的属性和数组元素列表是分开存储的,并且数组的遍历和修改操作也不能作用于这些命名属性.
1 | var arr = []; |
原型方法
变异方法
Array.prototype.push()
描述 :
在数组末尾添加一个或多个元素.
语法 :
arr.push(element0 ..., elementN)
elementN
: 将要添加到数组末尾的元素.返回值
: 被改动后的原数组的length
值, 且原数组被改变.
1 | let arr0 = [3, 2, 1]; |
Array.prototype.unshift()
描述 :
在数组开头添加一个或多个元素.
语法 :
arr.unshift(element1, ..., elementN)
elementN
: 将要添加到数组开头的元素.返回值
: 被改动后的原数组的length
值, 且原数组被改变.
1 | let arr0 = [3, 2, 1]; |
Array.prototype.pop()
描述 :
从数组中删除最后一个元素.
语法 :
arr.pop()
返回值
: 被删除的数组元素(空属组调用, 则返回undefined), 且原数组被改变.
1 | let arr0 = [3, 2, 1]; |
Array.prototype.shift()
描述 :
从数组中删除第一个元素.
语法 :
arr.shift()
返回值
: 被删除的数组元素(空属组调用, 则返回undefined), 且原数组被改变.
1 | let arr0 = [3, 2, 1]; |
Array.prototype.splice()
描述 :
从数组中删除指定数量的元素并添加向数组添加元素.
语法 :
array.splice(start[, deleteCount[, element1[, ...[, elementN]]]])
start
: 指定修改位置(从0计数).deleteCount
要移除的数组元素个数. 默认值为 this.length - start.elementN
: 要添加的数组元素.返回值
: 由被删除的元素组成的数组, 且原数组被改变.
1 | let arr0 = [3, 2, 1]; |
Array.prototype.sort()
描述 :
用原地算法对数组的元素进行排序.
语法 :
arr.sort([compareFunction])
compareFunction
: 用来指定按某种顺序进行排列的函数. 如果省略, 元素按照转换为的字符串的各个字符的Unicode位点进行排序. 指明了 compareFunction, 那么数组会按照调用该函数的返回值排序. a 和 b 是两个将要被比较的元素:
compareFunction(a, b)
小于 0, 那么 a 会被排列到 b 之前;compareFunction(a, b)
等于 0, a 和 b 的相对位置不变;compareFunction(a, b)
大于 0, b 会被排列到 a 之前;
返回值
: 排序后的数组.
1 | let arr0 = [3, 4, 2, 5, 1]; |
Array.prototype.reverse()
描述 :
将数组中元素的位置颠倒.
语法 :
arr.reverse()
返回值
: 位置颠倒后的数组.
1 | let arr0 = [3, 2, 1]; |
Array.prototype.copyWithin()
描述 :
将数组的某一部分浅复制到指定位置.
语法 :
arr.copyWithin(target[, start[, end]])
target
: 索引起始为0. 被复制的内容将要替换的位置. 如果是负数, target将从 this.length + target
开始计算.start
: 起始索引, 默认值为0. 被复制内容的起始位置, 包括start位置的元素. 如果是负数, 则开始索引会被自动计算成为 this.length + start
.end
: 终止索引, 默认值为this .length, 索引起始为0. 被复制内容的结束位置, 但不包括end位置的元素. 如果是负数. 则终止索引会被自动计算成为 this.length + end
.返回值
: 被改动后的原数组. 数组内容变化, 长度不变.
1 | let arr0 = [3, 2, 1]; |
Array.prototype.fill()
描述 :
将数组的某一区域的全部元素用指定值替换.
语法 :
arr.fill(value[, start[, end]])
value
: 填充数组的参数值.start
: 起始索引, 默认值为 0. 如果是负数时, 规则如上.end
: 终止索引, 默认值为 this.length. 不包括end位置. 如果是负数时, 规则如上.返回值
: 被改动后的原数组.
1 | let arr0 = [3, 2, 1]; |