JavaScript中数组的概念

为什么要学习数组?
之前学习的数据类型,只能存储一个值(比如:Number/String。我们想存储班级中所有学生的姓名,此时该如何存储?
数组的概念
所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中。那么这个集合我们就成为数组。
数组的定义
数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。
通过数组字面量创建数组

<script>
        //创建一个空数组
        var arr1 = [];
        //创建一个包含三个数值的数组,多个数组项以逗号隔开
        var arr2 = [1,2,3];
        //创建一个包含俩个字符串的数组
        var arr3 = ['a','c'];
        //可以通过数组的length属性获取数组的长度
        console.log(arr3.length);
        //可以设置length属性改变数组中元素的个数
        arr3.length = 0;
    </script>

获取数组元素
获取数组元素

var arr = ['red','gerrn','blue']
        arr[0];//red
        arr[2];//blue
        arr[3];//这个数组的最大下标为2,因此返回undefined

遍历数组
遍历:遍及所有,对数组的每一个元素都访问一次就叫遍历。
数组遍历的基本语法:

for(var i = 0;i<arr.length;i++){
            //数组遍历的固定结构
        }

数组中新增元素
数组的赋值

// 格式:数组名[下标/索引] = 值; 
        // 如果下标有对应的值,会把原来的值覆盖,如果下标不存在,会给数组新增一个元素。
         var arr = ["red", "green", "blue"];
        // 把red替换成了yellow 
         arr[0] = "yellow"; 
        // 给数组新增加了一个pink的值
         arr[3] = "pink";

案例
求一组数中的所有数的和的平均值

//求一组数中的所有数的和的平均值
        var str = [1,5,6,8,10,4];
        var sum = 0;
        var a;
        for(var i=0;i<str.length;i++){
            sum+=str[i]
            a=sum/str.length
        }
        console.log(a);

求一组数中的最大值和最小值,以及所在位置

//求一组数中的最大值和最小值,以及所在位置
        var a = [2,5,3,11,8,7]
        var max = a[0];
        var min = a[0];
        for(var i=0;i<a.length;i++){
            if(max<a[i]){
                max=a[i];
            }
            if(min>a[i]){
                min=a[i];
            }
        }
        console.log(max);
        console.log(min);

将字符串数组用|或其他符号分割

//将字符串数组用|或其他符号分割
        var a = ['q','w','e']
        var b = '|';
        var c = '';
        for(var i=0;i<a.length;i++){
            c+=b+a[i]
        }
        console.log(c);

要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组

var arr=[0,1,2,3]
        for(i=0;i<arr.length;i++){
            if(arr[i]==0){
                arr.splice(i,1);
            }
        }
        console.log(arr);

反转数组

 //翻转数组
        var a = [1,5,44,85,46,3]
        // var arr = [1,2,3];
        console.log(a);
        console.log(a.reverse());

冒泡排序,从小到大

var arr=[12,23,1,11,2,56];
        // 冒泡排序
        for(var i=0;i<arr.length-1;i++){ // 控制比较的轮数
            for(var j=0;j<arr.length-i-1;j++){
                var temp=0;
                if(arr[j]>arr[j+1]){
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
            console.log(arr);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值