Js基础_数组Array


一、数组概念

一组数据的集合

二、创建数组

1.new
2.利用数组字面量创建数组

        // 1. 利用new 创建数组
        let arr = new Array()
        // 2. 利用数组字面量创建数组
        let arr1 = []
        arr1 = [1,2,3,'12',true]

三、获取数组中的元素

        // 获取数组元素
        // 通过索引(下标) 来访问数组元素的序号
        let arr1 = [1,2,3,'12',true]
        console.log(arr1[0])// 1

四、遍历数组

        let arr1 = [1,2,3,'是发财不是旺财',true]
        for (let i = 0; i < arr1.length; i++) {
            console.log(arr1[i])// 1
        }
        //1
        //2
        //3
        //是发财不是旺财
        //true

五、数组中新增元素

1.通过修改length长度新增数组元素

// 修改数组长度
        let str = ''
        let arr = ['red', 'green', 'blue', '是发财不是旺财']
        console.log(arr)//['red', 'green', 'blue', '是发财不是旺财']
        arr.length = 6
        console.log(arr)//['red', 'green', 'blue', '是发财不是旺财', 空属性 × 2]
        console.log(arr[5])//undefined

2.修改索引号

若数组中没有该索引元素则新增该元素
若数组中有该索引元素则替换原来的元素
若直接给数组赋值,那么该数组就由数组会变为该值的数据类型,且数组内容清空

        // 修改数组长度
        let str = ''
        let arr = ['red', 'green', 'blue', '是发财不是旺财']
        console.log(arr)//['red', 'green', 'blue', '是发财不是旺财']
        arr[4] = 'black'
        console.log(arr)//['red', 'green', 'blue', '是发财不是旺财', 'black']
        arr[0] = 'yellow'
        console.log(arr)//['yellow', 'green', 'blue', '是发财不是旺财', 'black']
        arr = '这是啥啊'
        console.log(arr)//这是啥啊
   

3.通过push新增

        // 获取数组元素
        // 通过索引(下标) 来访问数组元素的序号
        let arr1 = [1,2,3,'是发财不是旺财',true]
        for (let i = 0; i < 5; i++) {
            arr1.push(i)
        }
        console.log(arr1)// [1, 2, 3, '是发财不是旺财', true, 0, 1, 2, 3, 4]

六、数组的属性及方法

1.数组的属性

在这里插入图片描述

2.数组的方法

Array方法
在这里插入图片描述

七、数组案例

案例1 计算数组平均值

        // 计算数组平均值
        let sum = 0
        let arr = [2, 3, 1, 5, 2, 7, 9]
        let age = 0
        for (let i = 0; i < arr.length; i++) {
            sum = sum + arr[i]
        }
        age = sum / arr.length
        console.log('和为: ' + sum + '   平均值为:  ' + age)
        // 和为: 29   平均值为:  4.142857142857143

案例2 求数组最大值

        // 求数组最大值
        let max = 0
        let arr = [7, 2, 5, 6, 4, 9, 3, 2, 8]
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i]
            }
        }
        console.log(max)

案例3 数组转化为分割字符串

        // 数组转化为分割字符串
        let str = ''
        let arr = ['red', 'green', 'blue', '是发财不是旺财']
        for (let i = 0; i < arr.length; i++) {
            str = str + arr[i] +'||'
        }
        console.log(str)

案例4 新建一个数组,里面存入10个整数

        // 新建一个数组,里面存入10个整数
        let arr = []
        for (let i = 0; i < 10; i++) {
            arr[i] = i
        }
        console.log(arr)//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

案例5 删除数组中小于5的数,并存入到一个新的数组中

        // 删除数组中小于5的数,并存入到一个新的数组中
        // 方法1
        let arr = [0, 6, 21, 7, 3, 4, 25, 8, 92, 1,]
        let arr1 = []
        let j =0
        for (let i = 0; i < 10; i++) {
            if (arr[i] > 5) {
                arr1[j] = arr[i]
                j++
            }
        }
        console.log(arr1)//[6, 21, 7, 25, 8, 92]
        // 方法2
        let arr = [0, 6, 21, 7, 3, 4, 25, 8, 92, 1,]
        let arr1 = []
        for (let i = 0; i < 10; i++) {
            if (arr[i] > 5) {
                arr1.push(arr[i])
            }
        }
        console.log(arr1)//[6, 21, 7, 25, 8, 92]
        // 方法3
        let arr = [0, 6, 21, 7, 3, 4, 25, 8, 92, 1,]
        let arr1 = []
        for (let i = 0; i < 10; i++) {
            if (arr[i] > 5) {
            // 数组每新增一个元素,arr1.length会动态加1
                arr1[arr1.length]=arr[i]
            }
        }
        console.log(arr1)//[6, 21, 7, 25, 8, 92]

案例6 删除数组中的0,返回一个不包含0的新数组

        //删除数组中的0,返回一个不包含0的新数组
        let arr = [2,6,4,3,1,2,3,5,64,12,0,12]
        let arr1 = []
        for (let i = 0; i < arr.length; i++) {
            if (arr[i]!==0){
                arr1[arr1.length] = arr[i]
            }
        }
        console.log(arr1)//[2, 6, 4, 3, 1, 2, 3, 5, 64, 12, 12]

案例7 翻转数组

        // 翻转数组
        let arr = ['发财','旺财','是发财','是旺财','是发财不是旺财']
        let arr1 = []
        for (let i = arr.length-1; i > 0; i--) {
            arr1[arr1.length] = arr[i]
        }
        console.log(arr1)//['是发财不是旺财', '是旺财', '是发财', '旺财']

案例8 冒泡排序

        // 冒泡排序
        let arr = [2,6,4,3,1,2,3,5,64,12,0,12]
        let temp = 0
        for (let i = 0; i < arr.length; i++) {
            for (let j = 0; j < arr.length; j++) {
                if (arr[i]>arr[j]){
                    temp = arr[i]
                    arr[i] = arr[j]
                    arr[j] = temp
                }
            }
        }
        console.log(arr)//[64, 12, 12, 6, 5, 4, 3, 3, 2, 2, 1, 0]
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是发财不是旺财

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值