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
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞