javaScript 工作必知(十一) 数组常用方法实现

大纲

  • Array

  • join

  • reverse反转

  • sort排序

  • concat 拼接

  • slice

  • splice

数组

     

   //定义数组
        var a = [];
        //使用Array定义一个数组,
        var a1 = new Array(1);
        //模仿多维数组
        a1[0] = new Array(1);
        a1[0][0] = 1;
        a.push(1);//添加数组
        alert(0 in a);//true
        var b = a.pop();//读出元素,并删除a数组元素。
        alert(0 in a);//false
        a.push(2);
        delete a[0];//删除属性
        alert(0 in a);//false

  

join

      将数组转成字符串,如果不指定链接方式,默认是,

     

 var a = [1, 2, 3];
        var str = a.join();
        var str1 = a.join("<>");
        alert(str);//1,2,3
        alert(str1);//1<>2<>3

  

reverse 反转

    将数组的元素进行反转,改变原来数组的元素顺序,不是创建新的数组。如:

 var a = [1, 2, 3];
        a.reverse();
        var str = a.join();
        alert(str);//3,2,1

  

sort排序

   var a = [3, 5, 9, 1, 6];
        a.sort();//默认是按字符顺序排序的
        for (var i = 0; i < a.length; i++) {
            alert(a[i]);
        }//1,3,5,6,9
        a.sort(function (a, b) { return b-a;})
        //添加
        for (var i = 0; i < a.length; i++) {
            alert(a[i]);
        }//9,6,5,3,1

  sort 排序,如果默认则是按照字母表顺序排序,如果按照自己方式排序,必须给一个匿名函数,假设一个参数在前,则返回一个小于0 的值,假设一个参数在后,则返回一个大于0的值。

 

concat拼接

     concat 拼接数组,并不改变原数组,返回一个新数组,也不改变拼接数组结构。

var a = [1, 2, 3];
        var o = [3, 4, 5];
        var c = a.concat(o);
        alert(a.join());//1,2,3
        alert(o.join());//3,4,5
        alert(c.join());//1,2,3,3,4,5

  

slice

         返回一段数组。slice函数中开始位置包括第一个参数,但不包括第二个参数,。

         -1 表示是数组元素最后一个元素,一次类推。不改变原数组。

         

 var a = [1, 2, 3];
        a.slice(0, 2);//1,2
        a.slice(1);//2,3
        a.slice(-1);//3
        a.slice(-2, -1);//2
       

  

splice

        splice 插入或删除元素,改变原数组。

       第一个参数表示删除的位置起始点,

       第二个参数表示删除元数的个数,

       第三个参数或任意个表示插入的元素。注意,这时第一个参数同时也表示插入的元素的位置。

var a = [1, 2, 3, 4, 5];
        alert(a.splice(1, 2).join());//2,3  a=[1,4,5]
        alert(a.splice(1).join());//4,5 a=[1];
        alert(a.splice(-1, 1).join()); 1  a=[];
        var o = [2, 4];
        o.splice(2, 0, 1, 2)// 删除[] o=[2,4,1,2];
        alert(o.join());
        o.splice(2, 0, [3,[12,32], 2], 4).join()//删除[] o=[2,4,[3,[12,32],2],3,1,2
        alert(o.join());

  

posted @ 2019-04-14 10:53  Company  阅读(151)  评论(0编辑  收藏  举报