JavaScript数组-数组遍历与数组的内置方法

一.笔记

在这里插入图片描述

二.练习

1.定义数组的两种方式
①new字符实例化数组
②字面量实例化数组

<script>

    /*  通过new字符实例化数组*/
    let arr = new Array('英文','good',99)
    // 访问数组
    console.log(arr)
    // 访问数组元素
    console.log(arr[1]);
    console.log(arr[30]); //undefined,如果访问的索引值不存在,默认用undefined占位
    // 访问数组长度
    console.log(arr.length);

</script>
<script>

    /* 通过字面量实例化数组 */
    let arr2=[1,'成都',,'大源',1,3,'log','enen','last']
    // 访问数组
    console.log(arr2);
    //访问数组元素
    console.log(arr2[1]);
    console.log(arr2[2]);//undefined
    console.log(arr2[arr2.length-1])
    // 访问数组长度
    console.log(arr2.length);
    
</script>

2.遍历数组元素的两种方式
①for循环
②forEach循环

<script>

    /* 需求:为数组中的每个元素加5 */
    let arr = [1, 5, 7, 6]

    /* for循环 */
    for (let i = 0; i < arr.length; i++) {
        arr[i] += 5;
    }
    console.log(arr);//[6, 10, 12, 11]

    /* forEach循环 */
    arr.forEach(function (value, index) {
        arr[index] = value + 5
    })
    console.log(arr);//[11, 15, 17, 16]

</script>

3.求一个数组中奇数的个数和奇数的平均值

<script>
    /* 
        需求:
        (数组)定义一个数组,输入9个任意的整数,求该数组中奇数的个数和奇数的平均值。

    */
    function reOdd(arr) {
        // 定义变量
        let count = 0,//基数的个数
            sum = 0//基数的和

        // 遍历数组
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] % 2 !== 0) {
                // 基数和
                sum += arr[i]

                // 基数个数自增
                count++
            }
        }
        return `基数个数:${count}  基数的和:${sum}  基数的平均数:${sum / count}`
    }

    let result = reOdd([6, 7, 8, 9, 10, 11])
    console.log(result);
    
</script>

4.求二维数组的平均值,最大值,最小值

<script>
    /* 
    需求:求该数组的平均值,最大值,最小值
     */

    //  定义数组
    let arr = [
        [12, 43, 23, 123],
        [54, 54, 23, 64],
        [86, 67, 34, 23]
    ];

    // 定义变量.
    /* 这里注意:
        在定义变量保存数组中的最大值或最小值时,通常将数组中的某个元素作为初始值.
        如果最大值和最小值初始值为0,(当数组中的元素都比0大,比较出来最小值一直是0;如果数组中的元素都比0小,比较出来的最大值一直是0) 
    */
    let max = arr[0][0], //定义变量保存数组中的最大值
        min = arr[0][0], //定义变量保存数组中的最小值
        sum = 0 //保存数组中所有元素的和

    // 遍历数组
    for (let i = 0; i < arr.length; i++) {

        // 循环数组中的数组
        for (let j = 0; j < arr[i].length; j++) {
            // 求和
            sum += arr[i][j]

            // 判断
            if (arr[i][j] > max) {

                // 最大值
                max = arr[i][j]
            } else if (arr[i][j] < min) {

                // 最小值
                min = arr[i][j]
            }
        }
    }
    console.log(`总和是:${sum}   平均数是:${sum / arr.length}   最大值是:${max}   最小值是:${min}`)
    //输出结果:总和是:606   平均数是:202   最大值是:123   最小值是:12
</script>

5.数组去重
①使用数组内置方法中的includes()方法
②使用数组内置方法中的indexOf()方法

<script>

    /* 
    需求:数组去重 ,去除数组中重复的数字
    列如: [ 1, 3, 5, 7, 1, 3, 4, 1 ]  ===>  [ 1, 3, 5, 7, 4 ]
     */

    // 定义数组
    let arr = [1, 3, 5, 7, 1, 3, 4, 1]

    // 定义一个空数组
    let arr2 = []

    // 遍历数组
    for (let i = 0; i < arr.length; i++) {

        // 判断数组1中的元素在数组2中是否存在

        // 一.使用includes()方法判断
        /* 
        if( !arr2.includes(arr[i]) ){
            // 不存在,添加到数组2中
            arr2.push(arr[i])
        }
        */

        // 二.使用indexOf()方法判断
        if (arr2.indexOf(arr[i]) === -1) {
            arr2.push(arr[i])
        }

    }
    console.log(arr2)
    //结果:[1, 3, 5, 7, 4]

</script>

三.总结

数组中的内置方法要记清楚, 每一种方法, 每一种可能的情况都要亲自测试.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值