本文已参与「新人创作礼」活动,一起开启掘金创作之路
数组的概念
-
数组是一种特殊的变量,它能够一次存放一个以上的值。
-
在数组中可以存放任意类型的元素。
数组的创建
- 通过 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>
\