JS Array构造函数

描述:

Array构造函数用于创建Array对象实例。

Array构造函数方法列表

属性名 返回值 描述
length Number Array构造函数的length属性只能为1。
prototype Object 指向Array实例的原型。
from() Array 将类数组对象或部署了遍历器接口的对象转化成数组实例,并返回。
isArray() Boolean 判断指定值是否为数组。
of() Array 创建并返回一个数组,将传入的值作为数组的成员。

Array实例原型属性列表

属性名 返回值 描述
concat() Array 将一个或多个数组与当前数组合并,并返回合并后的新数组。
copyWithin() Array 用指定位置的成员替换指定位置,并返回新数组。
entries() Object 返回当前数组对象的遍历器接口对象,该接口对象可对当前数组的键值对进行遍历。
every() Boolean 用于检测数组成员是否都满足条件(由传入的回调函数决定),该方法返回布尔值。
fill() Array 用指定值替换指定位置的成员,并返回新数组。
filter() Array 根据传入的回调函数对当前数组进行过滤,返回过滤后的数组。
find() Mixed 通过传入的函数查找满足条件的值,并返回。
findIndex() Number 通过传入的函数查找满足条件的值,并返回值所在的位置索引。
forEach() Undefined 对数组每一个成员进行遍历,但不返回值。
includes() Boolean 判断当前数组是否包含指定的值。
indexOf() Number 用于在当前数组查找指定的值,并返回值所在的位置索引。若未找到则返回-1。
join() String 用于将当前数组的所有成员使用特定的连接符号连接成字符串。
keys() Object 返回当前数组对象的遍历器接口对象,该接口对象可对当前数组的键进行遍历。
lastIndexOf() Number 返回指定关键字在数组中的最后一个索引,若未找到则返回-1。
map() Array 对当前数组每一个成员进行遍历,并返回新的数组。
pop() Mixed 从当前数组尾部弹出一个成员,并返回该成员。
push() Number 从当前数组尾部塞入一个成员,并返回新数组的长度。
reduce() Object 接收一个函数作为累加器,对数组中每个成员从左向右进行累加,并返回最终结果。
reduceRight() Object 接收一个函数作为累加器,对数组中每个成员从右向左进行累加,并返回最终结果。
reverse() Array 反转当前数组的排序,并返回新的数组。
shift() Mixed 从当前数组头部弹出一个成员,并返回该成员。
slice() Array 对当前数组进行截取,返回截取的数组。
some() Boolean 用于检测数组中是否存在满足条件(由传入的回调函数决定)的成员,并返回布尔值。
sort() Number 用于对当前数组成员进行排序。
splice() Array 当前数组进行截取,替换,并返回截取的数组。
toLocaleString() String 同 toString。
toString() String 将数组转化成字符串。效果等价于 arr.join()
unshift() Number 从当前数组头部塞入一个成员,并返回新数组的长度。
valueOf() Object 返回当前数组对象的原始值。
values() Object 返回当前数组对象的遍历器接口对象,该接口对象可对当前数组的值进行遍历。

创建Array实例:

方式一:直接赋值

const arr = ['JavaScript', 'ECMAScript', 'TypeScript'];

这种方式本质上是 arr = new Array('JavaScript', 'ECMAScript', 'TypeScript')的语法糖。

方式二:new Array(element0, element1[, ...[, elementN]])

const arr = new Array('JavaScript', 'ECMAScript', 'TypeScript');

当传入的参数非单个Number类型数值时,参数表示新建数组的成员。

方式三:new Array(arrayLength)

const arr = new Array(3);
console.info(arr); // [undefined, undefined, undefined]

当传入的参数为单个Number类型数值时,参数表示新建数组的长度,且新数组的每个成员都被undefined值填充。

方式四:Array.of(element0, element1[, ...[, elementN]])

const arr = Array.of(3);
const arr2 = Array.of('JavaScript', 'ECMAScript', 'TypeScript');

console.info(arr); // [3]
console.info(arr2); // ["JavaScript", "ECMAScript", "TypeScript"]

Array.of()方法是为了弥补上述方式二、三的不合理之处提出来的新的创建数组的方式。该方法传入的每一个参数都表示新创建数组的成员。