JavaScript数组

31 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

数组的概念

  • 数组是一种特殊的变量,它能够一次存放一个以上的值。

  • 在数组中可以存放任意类型的元素。

数组的创建

  • 通过 new 关键词创建数组
var 数组名 = new Array() ;

var arr = new Array();   // 创建一个新的空数组 “A”为大写

var arr = new Array(‘汽车’,’卡车’);

  • 通过数组文本直接创建数组
var array-name = [item1, item2, ...];

var arr = [‘汽车’,’卡车’];

注意:在数组种可以存放任意数据类型。如:['小明',12,true,28.9]

数组的获取

数组可以通过索引(下标)来访问、设置、修改对应的数组元素,可以通过“数组名[索引]”的形式来获取数组中的元素,数组的下标是从0开始。

// 定义数组

var arr= [1,2,3];

// 获取数组中的第2个元素

alert(arr[0]); //1 

alert(arr[1]); //2

alert(arr[2]); //3

alert(arr[3]); //undefined

注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined

数组的遍历

把数组中的每个元素都访问一次,可以通过for循环遍历数组。

var arr = ['小明','小红', '大胖'];

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

    console.log(arr [i]);

}

  •  length的长度是为数组的个数,非下标。

  • 当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化

  • 数组的length属性可以被修改:

  • 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空元素,访问空元素时显示undefined;

  • 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除

 var arr = ['小明', '小红', '小兰', '大胖'];

  arr.length = 3;

console.log(arr.length);

console.log(arr);

数组添加元素

数组[ 数组.length ] = 新数据;

举例:

var arr = ['小明', '小红', '小兰', '大胖'];

    arr[1]  = '小帅';// 重新赋值

    arr[arr.length] = '小帅';//末尾新增一个值

console.log(arr);

作业

1: 计算如下数组的和以及平均值。var arr = [10,5,6,9,4,5];

	<script>
			// 1: 计算如下数组的和以及平均值。var arr = [10,5,6,9,4,5]
			var arr = [10,5,6,9,4,5];
			var mun = 0;
			for(var i=0;i<arr.length;i++){
				mun = mun+arr[i];
				
			}
			console.log("和是:"+mun,"平均值是:"+mun/arr.length);
		</script>

2:数组筛选,把分数及格(60分)的同学放入一个新数组。var score = [90,20,49,10,80,65,44,70,60];

	<script>
			// 数组筛选,把分数及格(60分)的同学放入一个新数组。var score = [90,20,49,10,80,65,44,70,60];
			var score = [90,20,49,10,80,65,44,70,60];
			var score2=[];
			for(i=0;i<score.length;i++){
				if(score[i]>=60){
					score2[score2.length]=score[i];
				}
			}console.log(score2);
			
		</script>

3:数组翻转,var arr = [“小明”,“小红”,”小帅”,”小兰”,”大胖”];

		<script>
			// 3:把数组转为字符串用”-”隔开。var arr = [“小明”,“小红”,”小帅”,”小兰”,”大胖”];
			var arr = ['小明','小红','小帅','小兰','大胖'];
			var sar="";
			for(i=0;i<arr.length;i++){
				if(i==arr.length-1){
				sar=sar+arr[i];
				}else {
					sar=sar+arr[1]+"-";
				}
			}console.log(sar);
		</script>

4:定义两个数组并合并。

	<script>
			// 6:定义两个数组并合并。
			var arr1=[1,2,3];
			var arr2=[4,5,6];
			
			for(var i=0;i<arr2.length;i++){
				arr1[arr1.length]=arr2[i];
				
			}console.log(arr1);
			
			
		</script>

5:弹出框接收N位评委的打分,去掉一个最高分和一个最低分,求最后的平均分。


		<script>
	    //8:弹出框接收N位评委的打分,去掉一个最高分和一个最低分,求最后的平均分。 -->
		var sum=prompt("请输入评委个数:");
		sum=Number(sum);
		var score=[];
		var max,min,temp1,temp2,num=0;
		for(i=1;i<=sum;i++){
		 score[i-1]= Number(prompt("请输入第"+i+"裁判的分数"));
		}
		for(i=0;i<score.length;i++){
			num = num+score[i];
		}
		max=score[0];
		min=score[0];
		for(i=0;i<score.length;i++){
			if(max<score[i]){
				temp1=score[i];
				score[i]=max;
				max=temp1;
			}
		}
		for(i=0;i<score.length;i++){
			if(min>score[i]){
				temp2=score[i];
				score[i]=min;
				min=temp2;
			}
		}
		num = num -max-min;
		console.log("平均值:"+num/(score.length-2));
		</script>

\