JavaScript常用的数组方法——ES3

join(sep)

  • 功能:将数组元素通过指定的字符连接成字符串
  • 参数:
    • sep:拼接字符串
  • 返回值:拼接后的字符串
  • 注意:数组本身不发生变化

    var array = [1, 2, 3, 4, 5];
    
    //无参数时,默认用‘,’连接
    var joinStr = array.join();//joinstr: '1,2,3,4,5'
    
    //用‘-’连接
    var joinStr1 = array.join('-');//joinStr1: '1-2-3-4-5'
    

reverse()

  • 功能:将数组元素颠倒顺序
  • 参数:无
  • 注意:操作的是数组本身,数组元素颠倒

    var array = [1, 2, 3, 4, 5];
    
    array.reverse();//array: [5,4,3,2,1]
    

sort(fn)

  • 功能:将数组元素排序
  • 参数:
    • fn(a,b):比较函数
  • 注意:操作的是数组本身,数组元素顺序改变

    var array = ['a', 'e', 'b', 'd', 'c'];
    
    //无参数时按照字母表升顺排序
    array.sort(); //array: ['a','b','c','d','e']
    
    //当参数是函数时,函数有两个参数a、b,分别是数组相邻的两个数据,返回值则决定相邻的两个数据哪个排在在前面
    //返回值小于0,则a顺序在前
    //返回值大于0,则a顺序在后
    例如:
    var array = [5, 2, 1, 4, 3];
    
    //升序排列,用代入的思想可以把a看成5,b看出2。
    array.sort(function (a, b) {
        return a - b;
    });//array: [1,2,3,4,5]
    
    //降序排列
    array.sort(function (a, b) {
        return b - a;
    });//array: [5,4,3,2,1]
    

concat(data…)

  • 功能:数组拼接成新的数组
  • 参数:
    • data:任意个数的数据类型
  • 返回值:新的数组
  • 注意:数组本身不发生变化

    var array = [1, 2, 3];
    
    var newArray = array.concat(1, 'xxx'); //newArray: [1, 2, 3, 1, 'xxx']
    
    var newArray1 = array.concat([4, 5]); //newArray1: [1, 2, 3, 4, 5]
    

slice(start,end)

  • 功能:数组截取
  • 参数:
    • start:开始位置
    • end:结束位置
  • 返回值:新的数组
  • 注意:数组本身不发生变化

  • 第一个参数是截取开始位置(数组下标是从0开始),第二个参数是结束位置,但是不包括结束位置。

  • 如果只有一个参数,从开始位置截取到剩下所有数据
  • 开始位置和结束位置也可以传递负数,负数表示倒着数。例如-3是指倒数第三个元素

    var array = [1, 2, 3, 4, 5];
    
    var newArray = array.slice(1); //newArray: [2,3,4,5]
    var newArray1 = array.slice(0, 3); //newArray1: [1,2,3]
    var newArray2 = array.slice(0, -1); //newArray2: [1,2,3,4]
    var newArray3 = array.slice(-3, -2); //newArray3: [3]
    

splice(start,len,data…)

  • 功能:数组插入数据、删除数据
  • 参数:
    • start:开始位置
    • len:截断的个数
    • data:插入的数据
  • 返回值:截断的数据,是数组
  • 注意:操作的是数组本身

如果只有一个参数,从开始位置截取剩下所有数据

    var array = [1, 2, 3, 4, 5]

    var newArray = array.splice(1);//array=[1] newArray=[2,3,4,5]
    var newArray1 = array.splice(0, 2);//array=[3,4,5] newArray1=[1,2]
    var newArray2 = array.splice(0, 1, 6, 7);//array=[6,7,2,3,4,5] newArray2=[1]

push(data…)

  • 功能:往数组的尾部添加数据
  • 参数:
    • data:数据
  • 注意:操作的是数组本身

    var array = [1, 2, 3];
    
    array.push(4, 5);//array : [1,2,3,4,5]
    

pop()

  • 功能:删除数组的最后一个数据
  • 参数:无
  • 返回值:删除的数据
  • 注意:操作的是数组本身

    var array = [1, 2, 3, 4, 5];
    
    var value = array.pop();//array : [1,2,3,4]  value: 5
    

unshift(data…)

  • 功能:往数组的头部添加数据
  • 参数:
    • data:数据
  • 注意:操作的是数组本身

    var array = [3, 4, 5];
    
    array.unshift(1, 2);//array : [1,2,3,4,5]
    

shift()

  • 功能:删除数组的第一一个数据
  • 参数:无
  • 返回值:删除的数据
  • 注意:操作的是数组本身

    var array = [1, 2, 3, 4, 5];
    
    var value = array.shift();//array : [2,3,4,5] value: 1
    

pop和push就类似于栈操作,先进后出。unshift和shift就类似于队列操作,先进先出

有任何问题,欢迎大家批评指出,我们共同进步。

    原文作者:小俞
    原文地址: https://segmentfault.com/a/1190000002602408
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞