在 js 中 Array 对象支持在单个变量名下存储多个元素,并具有执行常见数组操作的属性与方法。Array 不是基本类型,而是具有以下核心特征的 Array 对象:
- JavaScript 数组是可调整大小的,并且可以包含不同的数据类型。
- JavaScript 数组不是关联数组,因此,不能使用任意字符串作为索引访问数组元素,但必须使用非负整数(或它们各自的字符串形式)作为索引访问。
- JavaScript 数组的索引从 0 开始,最后一个元素是数组的 length 属性减去 1 的值。
- JavaScript 数组复制操作创建浅拷贝。
Array 的属性&方法
属性
Array.prototype.length
: 设置或返回数组中元素的数目,值是一个 0 到 2^32 - 1 的整数。get Array[@@species]
: 访问器属性,返回数组的构造函数。Array.prototype[@@unscopables]
: 包含了所有 ES2015 (ES6) 之后新定义的、且并未被更早的 ECMAScript 标准收纳的方法名。这些方法被排除在由with
语句绑定的环境中。
原型方法(实例方法)
改变原数组的方法
Array.prototype.unshift()
: 将一个或多个元素添加到数组的开头,并返回该数组的新长度。Array.prototype.shift()
: 从数组中删除第一个元素,并返回该元素的值。Array.prototype.push()
: 将新元素添加到数组的最后,并返回数组的新长度值。Array.prototype.pop()
: 从数组中删除最后一个元素,并返回该元素的值。Array.prototype.splice(start[, deleteCount[, item1[, item2[, ...]]]])
: 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。Array.prototype.reverse()
: 将数组中元素的位置颠倒,并返回该数组。Array.prototype.sort([compareFunction])
: 用原地算法对数组的元素进行排序,并返回该数组。Array.prototype.fill(value[, start[, end]])
: 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。Array.prototype.copyWithin(target[, start[, end]])
: 浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。