Day03-JavaScript

一.数组

<script>
        // 创建数组
        // 1.直接量创建数组
        var arr = [1, "abc", 3, true, 5];
        console.log(arr);

        // 2.构造函数 Array() 创建数组
        // var arr2 = new Array(1, 2, 3, 4, 5);
        // console.log(arr2);
        // var arr3 = new Array(5);
        // console.log(arr3);

        // var arr4 = [1, , 3, , 5];
        // console.log(arr4);
        // var arr5 = new Array(1,, 2,, 4)

        // 访问数组元素
        console.log(arr[0]);

        // 修改数组元素
        arr[1] = "ABC";
        console.log(arr);

        // 删除数组元素,删除之后该位置任然存在,值为 empty
        delete arr[2];
        console.log(arr);

        // 数组的长度
        console.log(arr.length);
        // arr.length = 2;
        // console.log(arr);
        arr.length = 10;
        console.log(arr);
</script>

二.遍历数组

 <script>

        var arr = [1, 2, 3, 4, 5];

        for (var i = 0; i < arr.length; i++) {
            console.log(arr[i]);
        }

</script>

三.二维数组

 <script>

        // 二维数组
        var arr = [[1, 2, 3], [4, 5], [6, 7, 8, 9]];
        console.log(arr.length);

        console.log(arr[0][0]);

        // 遍历二维数组
        for (var i = 0; i < arr.length; i++) {
            // console.log(arr[i]);
            for (var j = 0; j < arr[i].length; j++) {
                console.log(arr[i][j]);
            }
        }

</script>

四.数组的排序

 <script>

        var arr = [3, 21, 45, 6, 91, 12, 41];

        // 求数组中的最大值和最小值
        var max = arr[0];
        var min = arr[0];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        console.log(max);
        console.log(min);

        // 数组排序
        // 冒泡排序
        var temp;
        for (var j = 0; j < arr.length - 1; j++) {
            for (var i = 0; i < arr.length - j - 1; i++) {
                if (arr[i] < arr[i + 1]) {
                    // temp = arr[i];
                    // arr[i] = arr[i + 1];
                    // arr[i + 1] = temp;
                    [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
                }
            }
        }
        console.log(arr);

 </script>

五.数组的操作方法

<script>

        var arr = [1, 2, 3, 4, 5];

        // 关注三点:1.方法传递的参数  2.返回值  3.是否改变原数组

        // 1.push() 将一个或多个元素添加到数组的末尾
        // 传递的参数:要添加的元素
        // 返回值:添加后数组的长度
        // 是否改变原数组:改变
           console.log(arr.push(6, 7, 10));
           console.log(arr);
 
        // 2.pop() 从数组末尾删除一个元素
        // 传递的参数:没有参数
        // 返回值:被删除的元素
        // 是否改变原数组:改变
           console.log(arr.pop());
           console.log(arr);

        // 3.unshift() 将一个或多个元素添加到数组开头
        // 传递的参数:要添加的元素
        // 返回值:添加后数组的长度
        // 是否改变原数组:改变
           console.log(arr.unshift(-3, -2, -1, 0));
           console.log(arr);

        // 4.shift() 从数组开头删除一个元素
        // 没有参数
        // 被删除的元素
        // 改变

        // 5.includes() 确定数组中是否包含某个元素
        // 参数:要查找的元素,开始查找的位置(可选参数)
        // 返回值:true false
        // 是否改变原数组:不改变
           console.log(arr.includes(5, 9));
           console.log(arr.includes(5, -3));

        // 6.indexOf() 检测当前值在数组中第一次出现的位置索引
        // 参数:要查找的元素,开始查找的位置(可选)
        // 返回值:查找成功返回对应索引,查找失败返回 -1
        // 是否改变:不改变

        // 7.lastIndexOf() 检测当前值在数组中最后一次出现的位置索引
        // 参数:要查找的元素,开始查找的位置(可选)
        // 返回值:查找成功返回对应索引,查找失败返回 -1
        // 是否改变:不改变
           console.log(arr.lastIndexOf(5, -4));

        // 8.join() 数组转换为字符串
        // 参数:不传递默认","分割,链接符
        // 返回值:转换后的字符串
        // 是否改变:不改变
           console.log(arr.join(""));

        // 9.toString() 数组转换为字符串
        // 参数:没有参数
        // 返回值:转换后的字符串
        // 是否改变:不改变
           console.log(arr.toString());

        // 10.Array.isArray() 判断一个值是否是数组
        // 参数:要检测的值
        // 返回值:true false
        // 是否改变:不改变
           console.log(Array.isArray(0));

        // 11.splice() 数组的增删改
        // 参数:开始操作的位置,要删除的个数,要添加的元素
        // 返回值:被删除的元素组成的数组
        // 是否改变:改变
        // 删:从哪儿开始删,删掉几个
           console.log(arr.splice(8, 1));
           console.log(arr);
        // 增:
           arr.splice(8, 0, 5, 5, 5);
           console.log(arr);
        // 改
           arr.splice(8, 3, 0, 0, 0);
           console.log(arr);
        // 清空数组
        // arr.splice(0);
        // console.log(arr);

        // 12.slice() 复制数组部分内容(包含开始位置,不包含结束位置)    [start,end)
        // 参数:开始位置,结束位置
        // 返回值:复制的元素组成的数组
        // 是否改变:不改变
           console.log(arr.slice(8, 12));
        // 拷贝数组
           console.log(arr.slice(0));

        // 13.reverse() 颠倒数组
        // 参数:没有参数
        // 返回值:颠倒后的数组
        // 是否改变:改变
           console.log(arr.reverse());
           console.log(arr);

        // 14.concat() 链接两个或多个数组
        // 参数:任意的值或多个数组
        // 返回值:链接后的数组
        // 是否改变:不改变
           console.log(arr.concat([88, 99, 100], [101, 102, 103]));
           console.log(arr);


        // 改变数组的操作方法
        // push() pop() unshift() shift() splice() reverse()

        // 不改变数组的操作方法
        // includes() indexOf() lastIndexOf() slice() join() toString() concat() Array.isArray()

    </script>

  • 17
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值