js里的数组需注意的点

 数据存储-----数组
        强类型:1.存储同一类型的数据的集合 2.内存中是有一定长度
        弱类型:1.存储任意类型的数据 2.内存中没有长度限制

while:先走条件再走循环体
 do
 {
  alert("aaa");
 }
 while(true)
 先走循环体再走条件

 

定义数组
 var attr = Array();  //定义一个空数组
 alert(attr);
 var attr1  = Array(1,2,3,4,5); //有值的数组
 alert(attr1);
 var attr2 = [1,2,3,4,5];
 var attr3 = [];
 数组的取值和赋值
 alert(attr2);
 alert(attr2[1]);
 alert(attr2[2]);
 alert(attr2[3]);
 alert(attr2[4]);
 for(var i=0;i<attr2.length;i++)
 {
  alert(attr2[i]);
 }
 二维数组
 attr2[
  [ 1,2,3,4]
  [ 3,4,5,6]
 
 ]
 取值:alert(attr2[0]),显示的是1,2,3,4; alert(attr2[0][1]),显示的是2。
 

例题:

 

  1.求 70,89,78,90,96,79,88,100,56,95 总和,最大值,平均值
 
 总和

     var attr = [70,89,78,90,96,79,88,100,56,95];
	var sum = 0;
	for(var i=0;i<attr.length;i++)
	{
		sum = sum + attr[i];
	}
	alert(sum);

 最小值

var min = 70;
	var attr = [70,89,78,90,96,79,88,100,56,95 ];
	for(var i=0;i<attr.length;i++)
	{ 
			if(attr[i]<=min)
			{ 
				min=attr[i];
			}
	}
	alert(min);

 最大值

     var maxn = 0;
	for(var i=0;i<attr.length;i++)
	{
		if(attr[i]>maxn)
		{
			maxn = attr[i];
		}
	
	}
	alert(maxn);

 思路:第一个值与第二个值相比较,依次类推。
 平均值

     var sum = 0;
	
	for(var i=0;i<attr.length;i++)
	{
		sum = sum + attr[i];
	}
	var pj = sum/attr.length;
	alert(pj);

 思路:先求出和来,再定义一个平均值的变量出来。

 

  2.求3,5,7在数组中出现的次数
  1,4,3,5,9,9,3,2,4,6,2,1,3,5,7,9,0,5,3,5,2,1,5,6,7,8,2,4,6,8,0,5

         var attr = [1,4,3,5,9,9,3,2,4,6,2,1,3,5,7,9,0,5,3,5,2,1,5,6,7,8,2,4,6,8,0,5,7,4,6,2,6,];
		var c3 = 0;
		var c5 = 0;
		var c7 = 0;
		for(var i=0;i<attr.length;i++)
		{
			switch(attr[i])
			{
				case 3:
					c3 = c3+1;
					break;
				case 5:
					c5 = c5+1;
					break;
				case 7:
					c7 = c7+1;
					break;			
			}	
		}
		alert(c3);
		alert(c5);
		alert(c7);

 

 总结:用到了switch  case的知识点,c3代表的是3出现的次数,attr[i]是索引值.

    3.查找某个值:1,4,5,3,2,7,6,9

         var attr = [1,4,5,3,2,7,3,9];
		var a =prompt("请输入你要查的数")
		
		for(var i=0;i<attr.length;i++)
		{
			if(a==attr[i])
			{
				
				alert("索引号"+i);
				break;
			}
			
		}

 冒泡排序:按照从小到大的顺序排列9,8,7,6,5,4,3,2,1

  9,8,7,6,5,4,3,2,1
       
        8,7,6,5,4,3,2,1,9   n-1   n-1
       
        7,6,5,4,3,2,1,8,9
       
        6,5,4,3,2,1,7,8,9
       
        5,4,3,2,1,6,7,8,9
       
        4,3,2,1,5,6,7,8,9
       
        3,2,1,4,5,6,7,8,9
       
        2,1,3,4,5,6,7,8,9
       
        1,2,3,4,5,6,7,8,9

          var attr = [9,8,7,6,5,4,3,2,1];
		var zj = 0;
		for(var i=0;i<attr.length-1;i++)
		{
			for(var j=0;j<attr.length-1;j++)
			{
				if(attr[j]>attr[j+1])
				{
					zj = attr[j];
					attr[j] = attr[j+1]
					attr[j+1] = zj;
				}	
			}	
		}
		
		
		alert(attr);

 总结:用到了冒泡排序,在这里面当j=0,attr[0]=9;attr[1]=8;zj为一个中间值,i是次数,当attr[j]>attr[j+1]时,提出attr[0]=9,让中间值等于9,8移动到attr[0]的位置,中间值又移动到了attr[1];然后再循环,j=1,attr[1]=7;attr[2]=8;依次类推。

 

    4. 公园里有200个桃子。猴子每天吃掉10个,挑出两个坏的扔掉,问6天后剩余桃子的数量

          for(var i=1;i<7;i++)
		{ 
			var sheng=200-i*12;	
				
		}
		alert(sheng);

 另一种做法:

     var sl = 200;
	for(var i=0;i<6;i++)
	{
		sl = sl-10-2;	
	}
	alert(sl);

 

posted on 2017-10-21 10:56  左剃头  阅读(258)  评论(0编辑  收藏  举报

导航