美文网首页
JavaScript Array数组

JavaScript Array数组

作者: 豆浆的铲屎官 | 来源:发表于2018-11-22 10:54 被阅读0次

    Array可以包含任意类型的数据,并通过索引来访问每个元素;
    用length取得数组的长度

    var arr=[1,"2",null,true,{name:"array"}];
    arr.length;
    

    给Array的length重新赋值会改变Array的大小

    arr.length=6; //[1,"2",null,true,{name:"array"},undefined]
    arr.length=2; //[1,"2"]
    

    也可以通过索引直接改变当前索引的值

    arr[0]=2; //[2,"2"]
    

    注意,如果通过索引改变值,索引大于当前的长度,也会改变Array的大小

    arr[5]=5;  // [2,"2",undefined,undefined,5]
    

    join

    join(),插入分隔符,返回连接后的字符串,经常用于向后端发送数据

    var arr=[1,2,3,4,5];
    var str=arr.split('|');  //1|2|3|4|5
    

    push和pop

    可以实现一种类似于栈方法的行为(后进先出),push向数组的末端插入数据,pop删除最后一位项并返回该项的值;

    var arr=[1,2,3,4];
    arr.push(5,6); //[1,2,3,4,5,6]
    var item=arr.pop(); // 6
    arr //[1,2,3,4,5]
    

    shift和unshift

    使用push和shift可以实现类似于队列方法的行为(先进先出),shift移除数组的第一项并返回该项,并减少数组的长度。

    var arr=[1,2];
    arr.push(3,4); //[1,2,3,4]
    var item=arr.shift(); //1
    arr; //[2,3,4]
    

    unshift 能够在数组前端插入任意数的项,并返回数组长度;

    var arr=[1,2];
    var len=arr.unshift(-1,0); //4;
    arr;//[-1,0,1,2]
    

    reverse和sort

    reverse()方法用于把当前数组数据项反转过来。

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

    sort() 方法用于把数组按照设定的规则进行排序,如果直接使用就默认进行排序;

    var arr=[5,4,3,2,1];
    arr.sort(); //[1,2,3,4,5]
    

    sort() 可以接受一个函数,来实现自定义规则的排序;

    var arr=[5,4,3,2,1];
    arr.sort(function(value1,value2){
        //value1 当前项,value2前一项 .value1是从第二项开始
        if(value1<value2){
                        return -1;
                    }
                    else if(value1>value2){
                        return 1;
                    }
                    else{
                        return 0;
                    }
    })
    arr; //[1,2,3,4,5]
    

    concat和splice

    concat() 先创建当前数组的副本,然后把传入的参数(可以是数组)添加到数组的末端,返回一个新的数组;

    var arr=[1,2];
    var arr1=arr.concat(3,[4,5]); // [1,2,3,4,5]
    

    splice()方法就比较多变了,大致总结为三种:
    1、删除 接受两个参数,要删除的第一项的位置和要删除的项数

    var arr=[1,2,3,4,5];
    var arr1=arr.splice(0,2); //删除索引0开始的两项数据,并返回删除的项;
    arr; //[3,4,5]
    arr1; //[1,2]
    

    2、插入 接受3个或3个以上的数据,前面2个参数分别是起始位置,0(删除0项),后面的是要插入的项;

    var arr=[1,2,3];
    var arr1=arr.splice(1,0,3,4,5);  // [1,3,4,5,2,3]
    

    3、替换 和插入是差不多的,只不过多了一个需要删除的项数,其实可以归为一类;

    var arr=[1,2,3];
    var arr1=arr.splice(1,2,3,4,5); //[1,3,4,5]
    

    indexOf 和lastIndexOf

    indexOf() 查询元素的位置,lastIndexOf() 从尾部开始往前查;

    var arr=[1,2,3,1];
    var index=arr.indexOf(2); //1
    var index2=arr.lastIndexOf(1); //3
    // 这个地方得注意,从尾部开始查询,并不代表索引就变了。比如此处,lastIndexOf(1),尾部第一位就是1,得到的索引并不是0 。
    

    相关文章

      网友评论

          本文标题:JavaScript Array数组

          本文链接:https://www.haomeiwen.com/subject/cmwcqqtx.html