美文网首页
javascript数组对象

javascript数组对象

作者: ssttIsme | 来源:发表于2019-12-22 19:44 被阅读0次

    javascript数组对象

    一、属性

    1.length

    设置或者返回数组元素的数目。

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.length);
        document.write(" ");
        document.write(arr.length=8);
        document.write(" ");
        document.write(arr.length);
        document.write(" ");
        document.write(arr);
    

    输出 6 8 8 1,2,3,a,b,c,,

    2.constructor

    返回构造函数的引用

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.constructor);
    

    输出 function Array() { [native code] }

    二、方法

    A.删除或添加类

    数组.push(数组元素...)向数组的末尾添加新的元素,返回值是新数组的元素。可以一次添加多个元素。

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.push(4,5));
        document.write(" ");
        document.write(arr);
    

    输出 8 1,2,3,a,b,c,4,5
    数组.unshift(数组元素...)向数组的开头添加新的元素,返回值是新数组的长度。可以一次添加多个元素。

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.unshift("a","b","c"));
        document.write(" ");
        document.write(arr);
    

    输出 9 a,b,c,1,2,3,a,b,c
    数组.pop(数组元素...)删除数组的最后一个元素,返回删除的元素。

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.pop());
        document.write(" ");
        document.write(arr);
    

    输出 c 1,2,3,a,b
    数组.shift(数组元素...)删除数组的第一个元素,返回删除的元素。

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.shift());
        document.write(" ");
        document.write(arr);
    

    输出 1 2,3,a,b,c
    数组.splice(index,数量)

    index 从何处开始添加或删除,必须是数值类型(数组的下标)
    数量 规定了删除的个数,如果是0,则不删除
    需要添加的元素,可以当做替换的元素
    如果有删除的元素则返回删除的元素

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.splice(3,1));
        document.write(" ");
        document.write(arr);
    

    输出 a 1,2,3,b,c

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.splice(3,1,"e","f"));
        document.write(" ");
        document.write(arr);
    

    输出 a 1,2,3,e,f,b,c

        var arr=[1,2,3,"a","b","c"];
        arr.splice(3,0,"e","f");
        document.write(" ");
        document.write(arr);
    

    输出 1,2,3,e,f,a,b,c

    B.数组的转换

    数组.join(分隔符)

    把数组元素按照指定的分隔符组合成一个字符串,如果指定没有分隔符,默认用逗号分隔。
    返回结果是组合成的字符串

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.join());
        document.write(" ");
        document.write(typeof arr.join());
        document.write(" ");
        document.write(arr.join("-"));
    

    输出 1,2,3,a,b,c string 1-2-3-a-b-c
    数组.slice()

    截取从指定的开始位置,到结束位置(不包括结束位置)的元素。如果不指定结束位置,则从指定的开始位置取到结尾(数组的下标)
    支持负数(-1开头)
    返回新数组

        var arr=[1,2,3,"a","b","c"];
        document.write(arr.slice(2,4));
        document.write(" ");
        document.write(arr);
        document.write("<br/>");
        document.write(arr.slice(2));
        document.write("&nbsp;");
        document.write(arr);
        document.write("<br/>");
        document.write(arr.slice(-3,-1));
        document.write("&nbsp;");
        document.write(arr);
    

    输出

    3,a 1,2,3,a,b,c
    3,a,b,c 1,2,3,a,b,c
    a,b 1,2,3,a,b,c
    

    C.排序

    冒泡排序
        var arr=[2,4,8,7,6,9];
        for(var i=0;i<arr.length;i++){
            for(var j=0;j<arr.length-i;j++){
                if(arr[j]>arr[j+1]){
                    var temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        document.write(arr);
    

    输出 2,4,6,7,8,9

        var arr=[2,4,8,7,6,9];
        for(var i=0;i<arr.length;i++){
            for(var j=0;j<arr.length-i;j++){
                if(arr[j]<arr[j+1]){
                    var temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        document.write(arr);
    

    输出 9,8,7,6,4,2

        var arr=[2,4,8,7,6,9];
        function bubbleSort() {
            for(var i=0;i<this.length;i++){
                for(var j=0;j<this.length-i;j++){
                    if(this[j]>this[j+1]){
                        var temp=this[j];
                        this[j]=this[j+1];
                        this[j+1]=temp;
                    }
                }
            }
            return this;
        }
        Array.prototype.bubbleSort=bubbleSort;
        document.write(arr.bubbleSort());
    

    输出 9,8,7,6,4,2

    系统自带排序

    数组.sort()

    对数组进行排序,如果没有参数,则按照字母的编码进行排序。
    如果要按照其他顺序来排序,要提供一个函数作为回调函数。
    回调函数会提供两个参数(a,b)
    a<b a在b前
    a=b
    a>b a在b后

        var arr=["b","c","e","a","q"];
        document.write(arr.sort());
        document.write("&nbsp");
        document.write(arr);
    

    输出 a,b,c,e,q a,b,c,e,q

        var arr=["1","2","5","12","15"];
        document.write(arr.sort());
        document.write("&nbsp");
        arr.sort(function (a,b) {
            return a-b;
        });
        document.write(arr);
    

    输出 1,12,15,2,5 1,2,5,12,15

    D.数组的连接

    数组.concat()
    连接连个或者更多的数组,并返回新数组,但是对原数组没有任何影响

        var a=[2,4,6,8];
        var b=["b","d","f","h"];
        var c=[" love "];
        document.write(a.concat(c,b));
        document.write("<br/>");
        document.write(a);
        document.write("<br/>");
        document.write(c.concat("G","Z"));
        document.write("<br/>");
        document.write(a);
    

    输出

    2,4,6,8, love ,b,d,f,h
    2,4,6,8
    love ,G,Z
    2,4,6,8
    

    相关文章

      网友评论

          本文标题:javascript数组对象

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