JS Array 数组

在 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]]): 浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。

阅读更多

初始化一个从0到99的数组

开发过程中遇到了一个问题,需要mock一些数据。一开始直接用的静态常量,后来想想这实在是太占地方了,尤其为了符合eslint需要写很多行,找其它部分代码的时候也不方便,而且很显然,我们可以用“时间换取空间”,通过程序简化这一部分。
我需要mock的是一个数组,数组里有一些固定的或是随机的数据(这里不妨假设只需要填满不同的数字),那么如何才能简便的mock一个这样的数组呢?

阅读更多