JS数组的常用方法

  • A+
所属分类:Web前端
摘要

1.toString()  将一个数组转换为字符串  语法:var str = 数组对象 . toString

1.toString()

  将一个数组转换为字符串

  语法:var str = 数组对象 . toString

2.join()

  将数组中的元素通过指定的分隔符连接到一起,并返回连接后的字符串

  语法:var str = 数组对象 . join("&");

3.连接数组

  函数:concat()

  作用:拼接两个或更多的数组,并返回拼接后的结果

  语法:arr1.concat(arr2,arr3);

  注意:

    (1)concat不会改变现有数组,而是返回拼接后的结果

    (2)每个参数不一定非是数组,也可以是普通的数据

练习:

定义两个数组,sel和unsel,将unsel中的数据移入到sel中,最后显示效果为sel内容为sel+unsel,unsel为空数组

function testConcat(){                 var sel = ["中国","美国","俄罗斯"];                 var unsel = ["朝鲜","越南","老挝"];                 sel = sel.concat(unsel);                 unsel.length = 0;                 console.log(sel);                 console.log(unsel);             }

4.获取子数组(截取数组)

  函数:slice()

  作用:从指定数组中,截取几个连续的元素组成的新数组

  语法:arr . slice ( start , [ end ] ) 

    start:从哪个下标还是截取,取值为正,从前向后取,取值为负,从后向前算位置(若取负数,最后一个数为-1)

    end:指定结束处的下标(不包括该下标),该参数可以省略,如果省略的话,就是从start一直截取到结束

  注意:该函数不会影响现有数组,会返回全新的数组

5.修改数组

  函数:splice()

  作用:允许从指定数组中,删除一部分元素,同时再添加另一部分元素

  语法:arr . splice(start , count ,e1,e2……);

    start:指定添加或删除元素的起始位置/下标

    count:要删除的元素个数,取值为0表示不删除

    e1,e2……:要增加的新元素,允许多个

    返回值:返回一个由删除元素所组成的数组

  注意:splice函数会改变现有数组

6.数组的反转

  作用:颠倒数组中元素的顺序

  语法:arr . reverse();

  注意:该函数会改变当前数组的内容

7.数组排序

  函数:sore()

  语法:arr . sore(排序函数)

  作用:默认情况下,按照元素的Unicode码大小升序排序

  特殊:如果想实现对数字的升序和降序的排列,需要自己指定排序函数

ex:   var = [12,5,6,8];   //排序函数(升序)   function soreAsc(a,b){     return a-b;   }   arr.sort(sortAsc); 

  原理:指定排序函数 如 sortAsc,定义 两个参数,如 a 和 b。数组会自动传递数据到 sortAsc 里面去,如果返回值是>0的数,则交换两个数的位置,否则不变

  使用匿名函数完成排序:

    arr.sort(function(a,b){return a-b;});

8.进出栈操作

JS是按照标准的"栈式操作"访问数组的,所有的"栈式操作"的特点都是"后进先出"

(1)push()
    入栈,在栈顶(数组的尾部)添加指定的元素,并返回新数组的长度
    

    var arr = [10,20,30];     //向栈顶增加新数据 40     var len = arr.push(40);     //len 保存的是 40 入栈后 arr 的长度,值是4

  (2)pop()
     出栈,删除并返回栈顶的(数组尾部)元素

    var arr = [10,20,30];     var r1 = arr.pop();//arr = [10,20]     var r2 = arr.pop();//arr = [10]     ==============================     arr :     r1 : 30     r2 : 20

  (3)shift()
    删除数组头部的(第一个)元素并返回

    var arr = [10,20,30];     var r1 = arr.shift();     ============================     arr : [20,30]     r1 : 10

(4)unshift()
  作用:在数组的头部(第一个)元素位置处,增加新元素

    var arr = [10,20,30];     arr.unshift(40);     arr : [40,10,20,30]