10 数组

这篇博客介绍了数组的基本操作,包括如何通过下标修改值、遍历数组、动态添加元素、正向与逆向遍历、求最大值、字符串数组的拼接以及去除重复元素。还展示了如何计算数组元素的和、平均值以及找到最大值和最小值。内容涵盖了数组遍历的各种常见应用场景和算法实现。
摘要由CSDN通过智能技术生成

数组:  
可以一次性存储很多个数据
可以存储任意数据类型
可以通过下标来改值、长度

下标改值:
    var arr1 = [5,6];
    arr1[0] = 10; //10 6

数组循环(遍历、迭代、枚举)
    var arr2 = [10,20,30,40,50,60];
    for(var i = 0; i < arr2.length; i++){
       console.log(arr2[i]); //遍历出数组
    }
    console.log(arr2.length); 

需求:动态的对一个空数组里面添加10个元素
    var arr = []; //定义一个空数组
    console.log(arr.length); //0
    for(var i = 0; i < 10; i++){
      console.log(i);
      arr[i] = "第" + i + "个元素";//给每个数组里元素赋的值都是遍历得来的动态的值
    }
注:arr[i]代表数组每个元素     i 代表遍历得到的值

正向遍历数组,访问数组里每个数据
    for(var i = 0; i < arr.length; i++){
       console.log(arr[i]);
    } 
逆向遍历数组,访问数组里每个数据
    for(var i = arr.length-1; i >= 0; i++){
       console.log(arr[i]);
    } //arr.length-1代表最后一个元素
    
数组求最大值
    var arr = [1,3,5,100,2,300,6];
    var max = arr[0]; //假设第一个元素为max
    //循环拿到每个元素
    for(var i = 0; i < arr.length; i++){
       // 判断if
       if(max < arr[i]){ //max小于遍历的数
         max = arr[i]; //将遍历到的较大的数赋值给max
       }
    }
    console.log(max);

需求:将字符串数组用|分割成一个字符串   小明|小红|小华|小花
    var names = ['小明','小红','小华','小花'];
    var str = ""; //储存字符
    for(var i = 0; i < names.length - 1; i++){ //倒数第二个为止
       str += names[i] + "|"; //给到str每一个数组里的元素加|
    }
    console.log(str + names[names.length - 1]); //最后一个手动添加
注:我们只要每两个中间有|,如果直接输出str就会导致最后有|,所以我们到倒数第二个后,使    得倒数第二个后面有|,再手动添加最后一个
需求:在前面加|
    for(var i = 1; i < names.length; i++){ //从第二个开始          
       str += "|" + names[i];
    }
    console.log(name[0] + str); //第一个手动添加
注:我们只要每两个中间有|,如果直接输出str就会导致前面有|,所以我们从第二个开始,然后    再手动添加第一个

需求:去掉数组中重复的0,把其它元素放到一个新的数组
    var arr = [10,0,20,0,30,40,50,60,0];
    //定义一个新空数组
    var newArr = [];
    for(var i = 0; i < arr.length; i++){ //拿到每一个元素
       if(arr[i] != 0){ //拿到除了0以外所有的数据
       newArr[newArr.length] = arr[i];// 空数组长度为0
       }
    }
注:newArr[newArr.length] = arr[i];
   newArr[0] = arr[0]
   newArr[1] = arr[1]
   newArr[2] = arr[2]
把原来数组里的每个非0元素都赋值到新的数组里去,新的数组里的元素位置用newArr.length来表示,使得新数组下标有依次增加的数字能够接受原来数组的非0数据

练习:
求数组中所有元素的和
    var arr = [1,2,3,4,5,6];
    var sum = 0; //存储和
    for(var i = 0; i < arr.length; i++){ //遍历拿到每个元素
       sum += arr[i]; //使得每个元素相加
    }
    console.log("数组中所有元素的和:" sum);
    
求数组中所有元素的平均值
     var arr2 = [1,2,3,4,5,6];
     var sum1 = 0; 
     for(var i = 0; i < arr2.length; i++){
        sum += arr2[i];
     }
     console.log("数组中所有元素的平均值:" + sum1 / arr2.length); //除以数组中元素个数

求数组中所有元素中的max值和min值
求最大值max
    var arr2 = [1,2,3,4,5,6];
    var max = arr[0]; //假设第一个元素为max
    for(var i = 0; i < arr2.length; i++){
       if(max < arr[i]){ //判断max是否小于遍历的元素
         max = arr[i]; //如果小于则遍历到的元素大于max,取较大的数
       }
    }
    console.log("最大值max:" + max);
求最小值min
    var arr3 = [1,2,3,4,5,6];
    var min = arr[0]; //假设第一个元素为min
    for(var i = 0; i < arr3.length; i++){
       if(min > arr[i]){ //判断min是否大于遍历的元素
         min = arr[i]; //如果大于则遍历到的元素小于min,取较小的数
       }
    }
    console.log("最小值min:" + min);

混合写法
var arr = [1,2,3,4,5];
// 定义变量来存储和假设最大值和最小值
var sum = 0;
var max = arr[0]; //假设的最大值
var min = arr[0]; //假设的最小值
for(var i = 0; i < arr.length; i++){
   sum += arr[i];
   if(max < arr[i]){
     max = arr[i];
   }else if(min > arr[i]){
     min = arr[i];
   }
}
console.log("数组中所有元素的和:" + sum);
console.log("数组中所有元素的平均值:" + sum/arr.length);
console.log("最大值max:" + max);
console.log("最小值min:" + min);
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值