天天看点

数组的介绍

 一、数组的基本使用

数组:(Array)是一种可以按顺序保存多个数据的 数据类型(复杂数据类型)

数组的使用方法:

1、声明语法

//字面量生成 []
    let arr = ['张三', '李四', '王五', '小芳', 18, 20]
    //           0        1       2       3     4   5
    console.log(arr);
           

2、取值语法  数组名[下标]

下标:数组中数据的编号,从0开始

let arr = ['张三', '李四', '王五', '小芳', 18, 20]
    //       0       1        2       3     4   5

    //2.取值语法  数组名[下标]  
    console.log(arr[3]);//控制台打印输出 小芳
    console.log(arr[1]);//李四
           

3、数组的长度:数组中数据的个数,通过数组的length属性获得

// 数组的长度  
    let arr = ['张三', '李四', '王五', '小芳', 18, 20]
    console.log(arr.length);//6     数组中总共有6项
    console.log(arr[arr.length - 1]);//20      拿到数据中的最后一项
           

举例::定义一个数组,里面存放星期一、星期二…… 直到星期日(共7天),在控制台输出:星期日

<body>
 <script>
    let day = ['星期一','星期二','星期三','星期四','星期五','星期六','星期天']
    //方法一
    console.log(day[6]);
    //方法二
    console.log(day[day.length - 1])
 </script>   
</body>
           

二、遍历数组

能够遍历输出数组里面的元素,用循环把数组中每个元素都访问到,一般会用for循环遍历

<body>
    <script>
    let week = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
    for (let i = 0; i < week.length; i++) {
    console.log(i);//数组的下标
    
    // 获取数组里面每一项元素
     console.log(week[i]);
    }

    // 注意点:i需要从0开始,因为数组的下标是从0开始
    </script>
</body>
           
数组的介绍

举例::求数组[10,20,30,40,50] 里面所有元素的和以及平均值

<body>
    <script>
        // 1.定义一个数组保存数据
        let arr = [10,20,30,40,50]

        let sum = 0
        // 2.遍历数组,拿到数组里面的每一项元素
        for (let i = 0; i < arr.length; i++) {
            //  i  此时i就是数组的下标
            //  获取每一项元素   数组名[下标]
            // console.log(arr[i]);//2 6  1 7 4
            // 3.获取元素进行累加,定义一个累加和变量保存
            // sum = sum + arr[i]  
            sum += arr[i]
        }
        console.log(`所有元素的和为${sum}`);
        // 4.通过和,获取平均值   平均值=和 / 数组的长度
        console.log(`平均值为${sum / arr.length}`);
    </script>
</body>
           
数组的介绍

 案例一:求数组 [2,6,1,77,52,25,7] 中的最大值

<body>
    <script>
        //  需求:求数组 [2,6,1,77,52,25,7] 中的最大值
        // 1.定义一个数组,保存数据
        let arr = [2, 6, 1, 77, 52, 25, 7]
        // 2.从数组里面挑选出一个值,默认当成最大值.赋值给max变量
        let max = arr[0]
        let min = arr[0]
        // 3.遍历数组,获取数组的每一项元素
        for (let i = 0; i < arr.length; i++) {
            // console.log(arr[i]);
            // 4.拿到每一项和最大值进行比较,如果比最大值要大,max要重新赋值
            if (max < arr[i]) {
                max = arr[i]
            }

            if (min > arr[i]) {
                min = arr[i]
            }
        }
        console.log(max);
        console.log(min);
     //  需求:求数组 [2,6,1,77,52,25,7] 中的最小值
    </script>
</body>
           
数组的介绍

 三、数组的 增 删 改 查 语法

1、数组的查的语法:  数组名[下标]        或者        用长度length

<body>
    <script>
        let arr = ['张三', '李四', '王五', '小芳', 18, 20]
        //数组的查的语法:数组名[下标]
        console.log(arr[3]);
        // 查最后一个
        console.log(arr[arr.length - 1]);
    </script>
</body>
           
数组的介绍

 2、数组的改的语法:数组名[下标] = 新值

<body>
    <script>
        let arr = ['张三', '李四', '王五', '小芳', 18, 20]
        //数组的改的语法:数组名[下标] = 新值
        arr[3] = '粉丝'
        console.log(arr);
    </script>
</body>
           
数组的介绍

  3、数组尾部新增的语法:数组名.push(新增的内容)        重点!!!

<body>
    <script>
        let arr = ['张三', '李四', '王五', '小芳', 18, 20]
        // 数组的增的语法:数组名.push(新增的内容)
        console.log(arr.push('苹果'));
        console.log(arr);
    </script>
</body>
           
数组的介绍

4、 数组头部新增方法:unshift()

<body>
    <script>
        let arr = ['张三', '李四', '王五', '小芳', 18, 20]
        // 数组头部新增方法:unshift()
        console.log(arr.unshift ('前端'));
        console.log(arr);
    </script>
</body>
           
数组的介绍

 5、删除数组头部元素的语法:shift()

<body>
    <script>
        let arr = ['张三', '李四', '王五', '小芳', 18, 20]
        // 删除数组头部元素的语法:shift()
        console.log(arr.shift());
        console.log(arr);
    </script>
</body>
           
数组的介绍

 6、删除数组尾部的语法:pop()  括号里面不要写任何东西

数组的介绍

  7、删除数组中指定元素的语法:splice(起始位置,删除的个数)

数组的介绍

 8、splice 的隐藏用法        删除数组中指定元素的语法:splice(起始位置,删除的个数,新增的元素)

数组的介绍

 案例一、将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组

<body>
    <script>
        let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
        // 分析: 1.定义一个新数组,保存不为0的数字
        let newArr = []
        // 2.遍历老数组,筛选出来不为0,大于或者小于0 数字
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] !== 0) {
                // 3.把筛选出来的数字通过push方法添加到新数组中
                newArr.push(arr[i])
            }
        }
        console.log(`不包含0的新数组是:${newArr}`);
    </script>
</body>
           
数组的介绍

  案例二、删除数组中[2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 为0的数据,并统计0出现的次数

<body>
    <script>
        let arr = [88, 0, 45, 9, 0, 0, 66]

        // 定义一个记录的初始值
        let a = 0
        // 1.遍历数组获取里面每一项
        for (let i = 0; i < arr.length; i++) {
            // 2.判断每一项是否为0,为0删除并且记录+1
            if (arr[i] === 0) {
                //  删除
                arr.splice(i, 1)
                // 解决删除之后数组的长度和下标会进行变化,i依然是自增,会导致跳过判断,因此需要回到上一次的索引
                i--
                // 记录+1
                a++
            }
        }
        console.log(arr);
        console.log(a);
    </script>
</body>
           
数组的介绍

四、数组的排序 sort() 方法

1、升序

<body>
    <script>
        // 升序     从小到大
        let arr = [10,200,80,5,900,300]
        arr.sort (function (a,b) {
            return a - b
        })
        console.log(arr);
    </script>
</body>
           
数组的介绍

 2、降序

数组的介绍

继续阅读