JavaScript基本总结(三)——数组总结

关于JavaScript中的数组做出了以下总结:
1、数组是用来存储一组差别范例的数据的容器。能够运用组织函数的要领和字面量的要领来声明函数;接见数组经由过程下标的要领来接见;arr.length能够获得数组长度。
2、数组栈要领包含:

unshift():在数组头部插进去值,返回值为数组长度
push():在数组末端插进去值,返回值为数组长度
shift():删除数组中第一个值,返回值为被删除的值
pop():删除数组中末了一个值,返回值为被删除的值

3、数组转字符串:

join("转换成字符的连接符,默以为逗号离开")

4、数组排序:

reverse()数值反序(例以下:var arr=[1,2,3];
    document.write(arr.reverse());输出值为:3,2,1)
sort()元素比较大小(比大小分两种状况,例1以下:        
    var arr=[5,2,3];
    var arrs=arr.sort();
    document.write(arrs);输出值为2,3,5;
    例2以下:
    var arr=[1,21,3,0];
    document.write(arr.sort());输出值为0,1,21,3;
    例2的比较大小是按第一个元素来比较的,准确升序应该为0,1,3,21,代码以下:
    var arr=[1,21,3,0];
    document.write(arr.sort(function (x,y){
        return x-y;
    })); 输入出值为:0,1,3,21;
    降序为:
    var arr=[1,21,3,0];
    document.write(arr.sort(function (x,y){
        return y-x;
    })); 输出值为21,3,1,0;
    )
 所以sort在对数组举行排序后,返回新数组,sort里能够吸收一个匿名函数来对数组举行升序与降序

5、splice:具有删除、替代、插进去功用

例以下:
    var arr=[1,2,3,5];
    //splice替代值,替代3
    var insertArr=arr.splice(2,1,"我是替代值");//返回被删除的值
    document.write(arr+"<br />");//输入效果为[1,2,我是替代值,5]
    //splice插进去值,在3的背面插进去值
    var replaceArr=arr.splice(3,0,"我是插进去值");
    document.write(arr+"<br />");//[1,2,3,我是插进去值,5 ]
    //splice删除值
    var delArr=arr.splice(2); //返回被删除的值
    document.write(arr+"<br />"); //[1,2]

6、arr.indexOf(必写的要查找的项,可选查找的出发点的位置索引) 从数组的头部最先检测
arr.lastIndexOf(必写的要查找的项,可选查找的出发点的位置索引) 从数组的尾部最先检测
例:

    var arr=[1,2,3,5,2,1,3];
    //数组头部最先检测元素2的位置
    var firstArr=arr.indexOf(2)
    console.log("数组中夙昔今后数第一个元素2的下标为"+firstArr); //输出值为1
    //数组尾部最先检测元素1的位置
    var lastArr=arr.lastIndexOf(1);
    console.log("数组中从后向前数第一个元素1的下标为"+lastArr); //输出值为5

7、罕见的数组面试题以下:
1)数组去重

<!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        <script type="text/javascript">
            var arr=[1,2,3,1],//原数组
                newArr=[], //新数组
                flag;
            for(var i=0;i<arr.length;i++){//轮回原数组
                flag=true;
                for(var j=0;j<newArr.length;j++){ //轮回新数组
                    if(newArr[j]==arr[i]){ //假如两个数组中有雷同的数,flag为假
                        flag=false;
                    }
                };
                if(flag){ //假如flag为真
                    newArr.push(arr[i]);//将arr[i]插进去到新数组中
                }
            }
            document.write(newArr)
        </script>
        </body>
    </html>
 2)数组乞降
 <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
        <script type="text/javascript">
            //1.盘算给定数组 arr 中所有元素的总和
            var arr=[1,2,3];
            function arryAnd(){
                var sum=0;//和的初始值
                for(var i=0;i<arr.length;i++){
                    sum+=arr[i];//sum=sum+0+arr[i]顺次类推
                }
                console.log(sum);
            }
            arryAnd();
        </script>
        </body>
    </html>
3)兼并数组
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <script type="text/javascript">
        //兼并数组 arr1 和数组 arr2。不要直接修正数组 arr,效果返回新的数组
        var arr1=[1,2,3],
            arr2=[4,5,6],
            arr;
        function merge(){
            return arr1.concat(arr2)
        }
        console.log(merge());
        console.log(arr)
    </script>
    </body>
</html>

4)将数组中某个数删除,以0为例

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <script type="text/javascript">
        var arr=[0,2,3,0,5,0],//旧数组
            newArr=[];
        for(var i=0;i<arr.length;i++){ //轮回新数组
            if(arr[i]==0) continue;
            newArr.push(arr[i]);
        }
        console.log(newArr);
    </script>
    </body>
</html>
5)switch礼拜的猎取
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    <script type="text/javascript">
        //猎取礼拜的要领
        var week=new Date().getDay();
        console.log(week);//返回number,0-6
        switch(week){
            case 0:
            document.write("礼拜日");
            break;
            case 1:
            document.write("礼拜一");
            break;
            case 2:
            document.write("礼拜二");
            break;
            case 3:
            document.write("礼拜三");
            break;
            case 4:
            document.write("礼拜四");
            break;
            case 5:
            document.write("礼拜五");
            break;
            case 6:
            document.write("礼拜六");
            break;
            //或末了一天以下所示:
//            default:
//            document.write("礼拜六");
        }
    </script>
    </body>
</html>


    原文作者:RoseMe
    原文地址: https://segmentfault.com/a/1190000018065685
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞