javascript数组对象

2019-12-22  本文已影响0人  ssttIsme

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
上一篇 下一篇

猜你喜欢

热点阅读