JS数组的方法

concat()
reverse()
sort()

 <script type="text/javascript">

        arr1 = ["芜湖"];
        arr2 = ["大司马"];
        arr3 = ["起飞"];
        arr4 = ["炫炫", "汪汪汪", "我疯狂的炫", "狗狗大队"];
        arr5 = ["b", "d", "e", "a", "c", "f",];
        arr6 = ["11", "2", "6", "4", "3", "1", "8",];
        arr7 = [11, 2, 6, 4, 3, 1, 8,];
        // concat(数组1,数组2,"元素","元素")
        //不会对原素组产生影响
        var result = arr1.concat(arr2, arr3);
        console.log(result);//["芜湖", "大司马", "起飞"]

        //join 
        // 可以将数组转为一个字符串
        // 该方法不会对原数组产生影响, 而是将转换后的结果返回
        // join()中可以指定一个字符串作为参数, 这个字符串将作为连接符
        // 如果不指定默认使用, 逗号链接


        var result1 = arr4.join("-");
        console.log(result1);//炫炫-汪汪汪 变成一个字符串


        // reverse()
        // 颠倒数组
        var result2 = arr4.reverse();
        console.log(arr4);
        console.log(result2);//["狗狗大队", "我疯狂的炫", "汪汪汪", "炫炫"]


        // sort()
        // 对数组中的元素进行排序
        // 默认按照编码大小进行排序      
        arr5.sort();
        arr6.sort();
        arr7.sort();
        //对字母排序
        console.log(arr5);// ["a", "b", "c", "d", "e", "f"]
        //字符串数字排序
        console.log(arr6);//["1", "11", "2", "3", "4", "6", "8"]
        //对数字排序会变成这样
        console.log(arr7);//[1, 11, 2, 3, 4, 6, 8]

        // 为了解决这个问题
        // 函数如果返回一个大于0的值, 则元素交换位置
        // 函数如果返回一个小于0的值, 则元素位置不变
        // 函数如果返回一个等于0的值, 视为两个元素相等, 则元素位置不变
        arr7.sort(function (a, b) {
            // //降序
            // if (a > b) {
            //     return -1;
            // } else if (a < b) {
            //     return 1;
            // } else {
            //     return 0;
            // }//[11, 8, 6, 4, 3, 2, 1]
            //return a - b;//升序
            return b - a;//降序

        })
        console.log(arr7);
    </script>

pop()
push()
unshift()
shift()

 <script type="text/javascript">
        // 数组的四个方法
        // push()末尾添加返回数组长度 pop()末尾删除返回被删除值
        // unshift()头部添加返回添加后长度 shift()头部删除第一个元素返回被删除值

        // push():
        // 可以在数组的末尾添加一个或者多个元素, 并且返回数组的新的长度
        // 可以将要添加的元素作为方法的传递
        // 这样这些元素会自动添加到数组的末尾
        // 该方法会将数组的长度作为返回值返回
        arr = ["孙悟空"];
        var result = arr.push("唐僧", "蜘蛛精", "白骨精", "猪八戒");
        console.log(result);//5
        console.log(arr);//["孙悟空", "唐僧", "蜘蛛精", "白骨精", "猪八戒"]

        // pop()删除数组的最后一个元素返回被删除元素

        var result1 = arr.pop();
        console.log(result1);//猪八戒
        console.log(arr); // ["孙悟空", "唐僧", "蜘蛛精", "白骨精"]

        // unshift()
        // 向数组开头添加一个或者多个元素, 并返回新的数组长度
        // 向前边插入元素以后, 其他元素索引会依次调整

        result2 = arr.unshift("哪吒");
        console.log(result2);//5
        console.log(arr);// ["哪吒", "孙悟空", "唐僧", "蜘蛛精", "白骨精"]

        //shift删除第一个元素返回被删除元素
        result3 = arr.shift();
        console.log(result3);//哪吒
        console.log(arr);//["孙悟空", "唐僧", "蜘蛛精", "白骨精"]
    </script>

slice()
splice()

    <script type="text/javascript">

        arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白骨精"]

        // slice(开始,结束)
        arr.slice(0, 2);//该方法不会改变数组而是将截取的元素封装到一个
        // 新的数组中返回
        console.log(arr);
        var result = arr.slice(0, 2);
        console.log(result);// ["孙悟空", "猪八戒"]




        // splice(开始位置, 删除数量,"新增的元素");//增加的元素可以直接插入
        var result1 = arr.splice(0, 2);
        console.log(arr);//["沙和尚", "唐僧", "白骨精"]

        console.log(result1);//["孙悟空", "猪八戒"]
        var result1 = arr.splice(0, 0, "牛魔王");//(4) ["牛魔王", "沙和尚", "唐僧", "白骨精"]
        console.log(arr);
    </script>

forEach()

    <script type="text/javascript">

        arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧"]
        arr.forEach(function (a, b, c) {
            console.log("a=" + a);
            //a=孙悟空
            //a=猪八戒
            //a=沙和尚
            //a=唐僧
            console.log("b=" + b);
            //b=0
            //b=1
            //b=2
            //b=3
            console.log("c=" + c);
            //孙悟空,猪八戒,沙和尚,唐僧
            //孙悟空,猪八戒,沙和尚,唐僧
            //孙悟空,猪八戒,沙和尚,唐僧
            //孙悟空,猪八戒,沙和尚,唐僧

            //  传递的三个参数分别为value值 和index索引 还有object对象

            // 只在IE9和以上兼容 所有尽量少用
        });
// 有几个元素执行几次
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值