js数组操做大全

栈方法

栈是一种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:
相关文章
相关标签/搜索