持续更新中......
概述
数组是按次序排列的一组值的集合,它是一个对象。
数组可以存储任何类型的数据(数字,字符串,布尔值或者对象)
创建方法
使用 Array 构造函数

使用数组字面量表示法
数组字面量由一对包含数组项的方括号表示,多个数组之间以逗号隔开。

属性 length
表示数组的长度,即数组中元素的个数。
数组索引从 0 开始,索引上下限为 0 到 length-1 。
数组的 length 属性不是只读的,可以进行设置

注意:

arr02
中 arr02[ 1 ] === undefined
,这个元素是存在的,只不过值为 undefined。
原型链
Array 是对象,所以 Array 有对象的一些方法

可以为数组添加属性,因为数组是对象。
检测数组
-
Array.isArray()
==> 用于确定传递的值是否是一个 Array -
value instanceof Array
==> 使用 instanceof 操作符检测数组 -
value.push()
==> 使用数组的特有方法,从而检测数组
方法 API
Object 原型上的 API

Array.prototype API

栈方法
栈是一种可以限制插入和删除项的数据结构。它是一种 LIFO(Last-In-First -Out,后进先出)的数据结构,栈中项的插入(推入)和移除(弹出)只发生在一个位置 ---- 栈的顶部。
-
push()
==> 将一个或多个元素添加到数组的末尾,并返回新数组的长度。 -
pop()
==> 从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
队列方法
队列数据结构的访问规则是 FIFO(Fitst-In-Fitst-Out,先进先出),队列在列表的末端添加项,在列表前端移除项。
-
shift()
==> 从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。 -
unshift()
==> 将一个或多个元素添加到数组的开头,并返回新数组的长度。
重排序方法
重排序方法 sort()
和reverse()
的返回值是经过排序之后的数组,这两种方法都会改变原数组。
-
sort()
==> 在适当的位置对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串Unicode码点。
Array sort 排序
Array sort 排序
-
reverse()
==> 将数组中元素的位置颠倒,并返回该数组的引用。第一个数组元素成为最后一个数组元素,最后一个数组元素成为第一个。
Array reverse
操作方法
-
concat()
==> 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。 -
slice()
==> 返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,原数组不会被修改。
Array slice()
-
splice()
==> 通过删除现有元素和/或添加新元素来更改一个数组的内容。
返回由被删除的元素组成的一个数组。
删除了一个元素 ==> 返回只包含一个元素的数组。
没有删除元素 ==> 返回空数组。
参数:array.splice(start [ , deleteCount [, item1 [, item2, ... ] ] ])
Array splice API
位置方法
-
indexOf()
==> 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1 -
LastIndexOf()
==> 返回指定元素在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找
迭代方法
-
forEach()
==> 对数组的每个元素执行一次提供的函数。返回 undefined
参数:回调函数和可选的执行回调函数时用作this的值,回调函数接受三个值:- 数组中正在处理的当前元素
- 数组中正在处理的当前元素的索引
-
forEach()方法正在操作的数组
Array forEach
-
map()
==> 创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。返回一个新数组,每个元素都是回调函数的结果
和forEach
作用一样,只是返回一个新数组
Array map
-
every()
==> 测试数组的所有元素是否都通过了指定函数的测试。返回布尔值 -
some()
==> 测试数组中的某些元素是否通过由提供的函数实现的测试。返回布尔值

-
filter()
==> 创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 返回一个新的通过测试的元素的集合的数组

归并方法
-
reduce()
==> 对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值。返回函数累计处理的结果 -
reduceRight()
==> 接受一个函数作为累加器(accumulator)和数组的每个值(从右到左)将其减少为单个值。返回函数累计处理的结果
网友评论