JavaScript数组的操作:复制,反转,排序,添加,删除

JavaScript数组的操作

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
    <script>
        var arr=["a","b","c","d"];
        console.log(arr);
        for (var i=0;i<arr.length;i++){
            //alert(arr[i]);
            console.log(arr[i]);
        }

        //push添加在最末尾
        var colors = new Array("red","green");
        colors.push("blue","yellow");
        console.log(colors);
        //unshift添加在最前面
        var nums=[2,7,8,6];
        var size=nums.unshift(99,66);
        console.log(nums);
        //pop删除最后一个
        var n=nums.pop();
        console.log(n);
        console.log(nums);
        //shift删除第一个
        var m=colors.shift();
        console.log(m);
        console.log(colors);
    </script>
</body>
</html>

***********数组的转换 排序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
    <script>
        //数组的转换,转成字符串
        //join
        var nums=[2,4,5];
        var str=nums.join();
        console.log(str);//2,4,5
        console.log(typeof(str));//string

        //不同的连接方式
        var words=["border","left","color"];
        var wordstr1=words.join();
        console.log(wordstr1);//border,left,color
        var wordstr2=words.join("");
        console.log(wordstr2);//borderleftcolor
        var wordstr3=words.join("-");
        console.log(wordstr3);//border-left-color
        //反转顺序
        nums.reverse();
        console.log(nums);//[5, 4, 2]
        var strs=["a","b","c","d"];

        var newstrs=strs.reverse().join("");
        console.log(newstrs);//dcba

        var arr=[9,23,15,-99,88,12,-2];
        //普通排序
        var pt=arr.sort();
        console.log(pt);//[-2, -99, 12, 15, 23, 88, 9]
        //降序
        var jx = arr.sort(function (a, b) {
            return b-a
        });
        console.log(jx);// [88, 23, 15, 12, 9, -2, -99]

        //升序
        var sx = arr.sort(function (a, b) {
            return a-b
        });
        console.log(sx);//[-99, -2, 9, 12, 15, 23, 88]
    </script>
</body>
</html>

************数组的连接,复制

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
</head>
<body>
    <script>
        //concat连接两个或多个数组
       var arr1=["a","b","c"],
           arr2=["d","e",1,3],
           arr3,
           arr4;
       //concat
        arr3=arr1.concat(arr2);
        console.log(arr3);//["a", "b", "c", "d", "e", 1, 3]
        arr4=arr1.concat(arr2,["m",99,8]);
        console.log(arr4);//["a", "b", "c", "d", "e", 1, 3, "m", 99, 8]


        //slice从已有的数组中返回选定的元素
        //start(必需)规定从何处开始选取,如是负数,从数组尾部开始算起
        //end(可选)规定从何处结束选取,是数组片段结束处的数组下标
        //如没有指定end,切分的数组包含从start到数组结束的所有元素
        //如slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置
        var colors=["red","green","blue","yellow","orange"];
        console.log(colors);

        var newColors1=colors.slice(1);//截取了从下标1至末尾的全部
        console.log(newColors1);//["green", "blue", "yellow", "orange"]

        var newColors2=colors.slice(1,2);//截取了从下标1至下标2(不包含该元素)的元素
        //即从start到end-1的元素
        console.log(newColors2);//["green"]

        var newColors3=colors.slice(1,3);//截取了从下标1至下标3(不含3)
        console.log(newColors3);//"green", "blue"]

        //负数
        var newColors4=colors.slice(-3,3);//5-3=2 即(2,3)
        console.log(newColors4);//["blue"]

        var newColors5=colors.slice(-4,3);//5-4=1 即(1,3)
        console.log(newColors5);//["green", "blue"]

        //前端面试题:完成以下代码段,实现b数组对a数组的拷贝。方法越多越好
        var a=[1,"yes",3],
        b1,
        b2,
        b3;
        //方法1,数组遍历,push
        b1=new Array();
        for (var i=0;i<a.length;i++){
            b1.push(a[i]);
        }
        console.log(b1);
        //方法2,concat
        b2=[].concat(a);
        console.log(b2);
        //方法3,slice
        b3=a.slice(0);
        console.log(b3);

    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_22182989/article/details/86726944
今日推荐