栈方法
栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构。
- push: 接受任意数量的参数,逐个添加至数组的末尾,返回修改后数组的长度
- pop: 从数组末尾一处最后一项,减少数组length,返回被移除的项
如:
var arr = [];
arr.push('a', 'b'); //2
arr.pop(); //b
队列方法
队列是一种FIFO(First-In-First-Out)的数据结构
- shift: 移除数组的第一项,,length减1,返回被移除项
- unshift: 添加任意项至数组的前端,并返回数组长度
如:
var arr = ['a', 'b'];
arr.shift(); //a
arr.unshift('c', 'd'); //3
重排序方法
- reverse: 反转原数组的顺序
- sort: 按升序排序数组项。此方法会先调用每个数组项的toString(),然后比较得到的字符串来确定排序。
如:
var arr = [1,4,12,3];
arr.reverse(); //[3,12,4,1]
arr.sort(); //[1,12,3,4]
sort可以接受一个比较函数作为参数。比较函数接收两个参数,如果第一个参数应该位于第二个之前,返回负值,如果相等返回0,否则返回正数
如:
var compare = function (v1, v2) {
if(v1 < v2){
return -1;
}else if (v1 === v2) {
return 0;
} else{
return 1;
}
};
arr.sort(compare); //[1,3,4,12]
操作方法
- concat: 该方法溴铵创建当前数组的一个副本,然后将参数添加至副本的末尾,返回新创建的副本数组
- slice: 该方法基于数组中的一个或多个项创建新的数组。接受两个参数,及返回项的起始位置和结束位置
-
splice:
删除: 提供2个参数:起始位置,要删除的项数。
添加: 提供3个参数:起始位置,0(要删除的项),要插入的项
替换: 提供3个参数: 起始位置,要删除的项数,要插入的任意数量的项
注意,concat、slice不会改变原数组的值,都返回一个新的数组。splice改变了原来的数组,都返回一个数组,如果是删除,则返回被删除的项,如果没有删除任何项,则返回空数组
位置方法
- indexOf:
- lastIndexOf:
迭代方法
- every:
- filter:
- foreach:
- map:
- some:
归并方法
- reduce:
- reduceRigth:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。