js基础之数组

目录

一、什么是数组?

二、数组的语法

创建数组

访问数组元素 

数组遍历 

三、数组的操作

1、push 方法

2、unshift 方法

    3、 pop 方法

    4、 shift 方法

四、数组的应用

1、找出数组中元素为10的下标,有则打印该下标,没有则打印-1

2、使用for循环–求出数组元素的和[5,8,9,2,1,5] 

3、 使用for循环-求出数组里大于5的i和[4,9,5,20,3,11]

 4、使用for循环-求出班级里同学们平均年龄[15,19,21,33,18,24]

5、计算[2,6,18,15,40]中能被3整除的偶数的和

 6、计算[2,6,18,15,40]中能被3整除的偶数的个数

7、给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中

8、写一个程序,要求如下(★★)


一、什么是数组?

数组(Array:就是一组数据的集合,每条数据也叫元素,可以 存放任意类型的数据,每个元素以逗号分隔.

二、数组的语法

创建数组

1、 字面量     常用

var arr = [ ]

2、 new 关键字

var arr = new Arrary()

const arr = [ ]     // 空数组

const arr2 = [10, 20, 30]     // 数组有3个元素,元素之间用逗号

 const arr3 = ['1', 2, true, [1]]  -2 通过构造函数 new Array() // 元素类型可以不一样 

 const arr4 = new Array() // []
 const arr5 = new Array(1, 2) // [1,2]
 const arr6 = new Array(5) // 只有一个数字的时候  5表示元素个数 

访问数组元素 

数组名[ 下标 / 角标 / 索引 ] 下标 0 1 2 ... 0~元素个数 -1

   const arr = [89, 78, 90, 100]
      console.log(arr[0])
      console.log(arr[1])
      console.log(arr[2])

数组遍历 

length可以获取数组元素的个数,数组的长度    语法 :  数组.length

数组每个元素都对应着自己的下标,数组的下标从0开始算,数组的长度一般情况下都是比数组的索引大1

下标又叫索引  .index

获取数组中的元素: 数组[ 下标 ]

获取数组的长度  arr.length

获取数组中的每个元素   arr[ i ]

修改数组中的元素   数组[下标 ] = 元素

给数组中添加元素

删除数组元素  length

通过索引查找不存在的元素时拿到的是undefined

常采用for循环对数组进行遍历

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

三、数组的操作

对数组的操作有增、删、改、查4种

1、push 方法


    语法:数组名.push(参数)    
    功能:在数组的末尾追加一个或多个元素
    参数:一个或多个要追加的元素
    返回值:元素添加之后的数组总长度

 const arr = ['帝都', '魔都']

 const num = arr.push('雾都', '霸都')

 console.log(arr)

 console.log(num)  //返回值

2、unshift 方法


    语法:数组名.unshift(参数)    
    功能:在数组的前面追加一个或多个元素
    参数:一个或多个要追加的元素
    返回值:元素添加之后的数组总长度
     

        const arr = ['帝都', '魔都']

      const num = arr.unshift('雾都', '霸都')
      console.log(arr)
      console.log(num)

    3、 pop 方法


    语法:数组名.pop( )    
    功能:删除数组末尾的元素
    参数:无
    返回值:被删除的元素 

    
4、 shift 方法


    语法:数组名. shift ( )    
    功能:删除数组第一个的元素
    参数:无
    返回值:被删除的元素

四、数组的应用

1、找出数组中元素为10的下标,有则打印该下标,没有则打印-1
     let arr = [88, 20, 10, 100, 50]
        // let arr=[88,20,30,100,50]
        let result = -1
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] === 10) {
                result = i
                break
            }
        }
        console.log(result)

2、使用for循环–求出数组元素的和[5,8,9,2,1,5] 
    let arr=[5,8,9,2,1,5]
        let sum=0
        for(let i=0;i<arr.length;i++){
            sum+=arr[i]
        }
        console.log(sum)

3、 使用for循环-求出数组里大于5的i和[4,9,5,20,3,11]
         const arr=[4,9,5,20,3,11] 
        let sum=0
        // for(let i=0;i<arr.length;i++){
        //     if(arr[i]>5){
        //         sum+=arr[i]

        //     }

        // }
        // console.log(sum)

        for(let i=0;i<arr.length;i++){
            if(arr[i]>5){
                sum+=i
            }
        }
        console.log(sum)
 4、使用for循环-求出班级里同学们平均年龄[15,19,21,33,18,24]
     let arr =[15,19,21,33,18,24]
        let sum=0
        for(let i=0;i<arr.length;i++){
            sum+=arr[i]
        }
        console.log(`班级里同学们平均年龄为${sum/arr.length}`)

5、计算[2,6,18,15,40]中能被3整除的偶数的和
     let arr =[2,6,18,15,40]
        let sum =0
        for(let i=0;i<arr.length;i++){
            if(arr[i]%3===0 && arr[i]%2===0){
                sum+=arr[i]
            }

        }
        console.log(sum)
 6、计算[2,6,18,15,40]中能被3整除的偶数的个数
    let arr=[2,6,18,15,40]
    let count=0
    for(let i=0;i<arr.length;i++){
        if(arr[i]%3===0 && arr[i]%2===0){
            count++
        }
    }
    console.log(count)
7、给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中
     let arr=[1,0,3,4,0,5,9,0,7,0,0,44,66]
        let newArr=[]
        for(let i=0;i<arr.length;i++){
            if(arr[i] !==0){
                newArr[newArr.length]=arr[i]
            }
            
        }
        console.log(newArr)

8、写一个程序,要求如下(★★)

·需求1∶让用户输入五个有效年龄(0-100之间),放入数组中

o必须输入五个有效年龄年龄,如果是无效年龄,则不能放入数组中

- 需求2∶打印出所有成年人的年龄(数组筛选)

- 需求3:打印出所有人总年龄(累加)

- 需求4∶打印出所有人的平均年龄(累加)

- 需求5:打印出最大年龄和最小年龄(最大值)

    let arr=[]
        while (arr.length<5) {
           
                let num = +prompt(`请输入第${arr.length+1}个有效年龄`)
          if(num>0 && num<=100){
            arr.push(num)
          }else{
            alert('您输入的不是有效年龄,请重新输')
          }

        }
        // console.log(arr)

        //打印出所有成年人的年龄(数组筛选)
        let newArr=[]
        for(let i=0;i<arr.length;i++){
            if(arr[i]>18){
                // console.log(`成年人的年龄为${arr[i]}`)
                newArr[newArr.length]=arr[i]
            }
        }
        console.log(`所有成年人的年龄${newArr}`)
        let sum=0
        //打印出所有人总年龄(累加)
        for(let j=0;j<arr.length;j++){
          sum+=arr[j]
        }

        console.log(`所有人总年龄${sum}`)
        //打印出所有人的平均年龄(累加)
        console.log(`所有人的平均年龄${sum/arr.length}`)

        //打印出最大年龄和最小年龄(最大值)
        let max=arr[0]
        let min=arr[0]
        for(let k=0;k<arr.length;k++) {
          if(arr[k]>max){
            max=arr[k]
          }if(arr[k]<min){
            min=arr[k]
          }
        }
        console.log(`最大年龄为${max},最小年龄为${min}`)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值