15、数组学习

1.数组的概念

普通变量一次只能存储一个值,数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式;

数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。

数组是一种将一组数据存储在单个变量名下的方式;

2.创建数组

2.1.数组的创建方式

js中创建数组有两种方式:1.利用new创建数组;2.利用数组字面量创建数组;

2.2.利用new关键字创建数组

var  数组名 = new Array();

var  arr = new  Array();//创建一个新的空数组;

2.3.利用数组字面量[]创建数组

var  数组名 = [];   //使用数组字面量的方式创建空的数组;

var  数组名 = ['小白','小黑','大黄'];    //使用数组字面量方式创建带初始值的数组;

数组的字面量是[];

声明数组并赋值被称为数组的初始化;  

数组里面的数据一定要用逗号隔开;数组中的数据,称为数组元素;

数组中可以存放任意类型的数据,例如字符串,数字,布尔值等;

3.获取数组中的元素

3.1.数组的索引

索引(下标):用来访问数组元素的序号(数组下标从0开始)。

数组可以通过索引来访问、设置、修改对应的数组元素,可以通过"数组名[索引]"的形式来获取数组中的元素;(获取即访问);

索引号超出数组长度后,输出undefined;并自动添加到该索引值加1的长度;

var  arr1 = [1,2,3];   //定义数组

alert(arr1[1]);   //获取数组中的第二个元素 

4.遍历数组

遍历:将数组中的每个元素从头到尾都访问一次

var  arr = ['red','green','blue'];

for(var i = 0;i<3;i++){  

//i是计数器,当索引号使用  将i<3换成i<数组名.length,可以不用计算数组中的个数

    console.log(arr[i]); 

//索引号是从0开始的   arr[i]是数组元素  第i个数组元素

     }

数组的长度:使用"数组名.length"可以访问数组元素的数量(数组长度)( 动态检测数组长度  可以使得遍历结果更准确);

注意:数组的长度是元素个数  不要和索引号混淆 max-index=length-1;

问题1:求数组[2,6,1,7,4]里面所有的元素的和以及平均值

(1)声明一个求和变量 sum;

(2)遍历这个数组,把里面的每个数组元素加到sum里面;

(3)用求和变量sum除以数组的长度就可以得到数组的平均值

  var  arr = [2,6,1,7,4];

var  sum = 0;

var  average = 0;

for(var i = 0;i<arr.length;i++){

      sum +=arr[i];  //加的是数组元素arr[i]  不是计数器i

   }

    average = sum/arr.length;

   console。log(average,sum);   //输出多个变量  需要用逗号分隔

问题2:输出数组[2,6,1,77,52,25,7]中的最大值

(1)声明一个保存最大元素的变量max;

(2)默认最大值可以取数组中的第一个元素;

(3)遍历这个数组,把里面每一个数组元素和max相比较;

(4)如果这个数组元素大于max,那么就将这个数组元素放到max中,否则就进行下一轮比较;

(5)最后输出max的值;

     var  arr = [2,6,1,77,52,25,7];

var  max = 0;

     for(var i=1;i<arr.length;i++){

  if(arr[i]>max){

  max = arr[i];

      }else{

     continue;

    }

     }

   console.log('该数组中的最大值是'+max);

问题3:数组转换为分割字符串

将数组['red','green','blue','pink']转换为字符串,并且用|或其他符号分割输出:'red|green|blue|pink|'

(1)需要一个新变量用于存放转换完的字符串  str;

(2)遍历原来的数组,分别将里面数据取出来,加到字符串里面;

(3)同时在后面多加一个分隔符;

    var  arr = ['red','green','blue','black'];

     var  str = ' ';

    var  sep = '|';    //可以省略这一步  并把下面的sep直接改成分隔符号  记得用引号

     for(var i = 0;i<arr.length;i++){

     str += arr[i] + sep;  }    console.log(str);

5.数组中新增元素

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

  修改length长度来实现数组扩容的目的;

  length属性是可读写的;

     var arr = ['red,'green','blue','yellow'];

     arr.length = 7;

     console.log(arr);

     console.log(arr[4]);

     console.log(arr[5]);

     console.log(arr[6]);

  其中索引号是4,5,6的空间没有赋值,声明变量但是没有初始化,所以默认值就是undefined;

    5.2.通过修改索引号新增数组元素(追加数组元素)(如果索引号没有被占用就是还没定义 那么就是新增  如果被占用了  那么就会被修改替换掉原来的数组元素)

     var arr1 = ['red','green','blue'];

     arr1[3] = yellow;    //不要直接给数组名赋值 会覆盖掉之前的元素

     console.log(arr1);

     

     

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值