13

栈方法

栈是一种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:

大米aBigRice
236 声望24 粉丝

欢迎我呀~