js_数组实例

JavaScript数组的实例

1、显示数组中的数据

1
2
3
4
5
6
7
8
9
10
var arr=new Array(10,20,30,70,28,39);
//显示数组中的每个数据
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
console.log(arr[9]);//undefined
for(i=0;i<arr.length;i++){
console.log(arr[i]);
}

2、求数组中所有元素的和

1
2
3
4
5
var arr1=[10,20,30,75,37];
var sum=0;
for(i=0;i<arr1.length;i++){
sum+=arr1[i];
}console.log(sum);

3、求数组中所有元素的平均值

1
2
3
4
5
6
7
8
var arr2=[10,20,30,40,50];
var sum2=0;
var len1=arr2.length;
for(j=0;j<len1;j++){
sum2+=arr2[j];
}
avg=sum2/len1;
console.log(avg);

4、求数组中所有元素的最大值

1
2
3
4
5
6
7
8
var arr3=[10,30,29,10,50];
var max=arr3[0];//将第一个数的值存到max中
for(var i=0;i<arr3.length;i++){
if(max<arr3[i]){
max=arr3[i];
}
}
console.log("最大值为:"+max);

最大值

1
2
3
4
5
6
7
8
var arr3=[10,30,29,10,50];
var max=Number.MIN_VALUE;//假设变量是最大值,但是存储的值是最小值
for(var i=0;i<arr3.length;i++){
if(max<arr3[i]){
max=arr3[i];
}
}
console.log("最大值为:"+max);

最大值

1
2
3
4
5
6
7
8
var arr3=[-10,-30,-29,-70,-50];
var max=arr3[3];
for(var i=0;i<arr3.length;i++){
if(max<arr3[i]){
max=arr3[i];
}
}
console.log("最大值为:"+max);

最大值(下面这种方法有bug)

1
2
3
4
5
6
7
8
var arr3=[-10,-30,-29,-70,-50];
var max=0;
for(var i=0;i<arr3.length;i++){
if(max<arr3[i]){
max=arr3[i];
}
}
console.log("最大值为:"+max);

5、求数组中的最小值

1
2
3
4
5
6
7
8
var arr4=[10,30,29,10,50];
var min=arr4[0];//假设变量存储的是最小值
for(var i=0;i<arr4.length;i++){
if(min>arr4[i]){
min=arr4[i];
}
}
console.log("最小值为:"+min);

6、倒循环遍历数组

1
2
3
4
var arr5=[1,20,39,90,80,78];
for(var i = arr5.length-1;i>=0;i--){
console.log(arr5[i]);
}

7、把数组中的每个元素用|拼接到一起产生一个字符串并输出

1
2
3
4
5
6
var names=["卡卡","和我","哈哈","额外"];
var s="";//空字符串
for(i=0;i<names.length-1;i++){
//console.log(names[i]);
s+=names[i]+"|";
}console.log(s+names[names.length-1]);

把数组中的每个元素用|拼接到一起产生一个字符串并输出

1
2
3
4
5
6
var names=["卡卡","和我","哈哈","额外"];
var s="";//空字符串
for(i=0;i<names.length;i++){
//console.log(names[i]);
s+="|"+names[i];
}console.log(names[0]+s);

8、去掉数组中重复的0

1
2
3
4
5
6
7
8
var arr6=[10,38,0,29,48,0,56,98,0,0];
var newarr=[];//新数组,用来存放第一个数组中的所有非0的数
for(i=0;i<arr6.length;i++){
if(arr6[i] != 0){
newarr[newarr.length]=arr6[i];//newarr.length把数组的长度作为下标使用,数组的长度是可以改变的
}
}
console.log(newarr);

9、提示用户输入班级人数,求总成绩,平均值,最高分,最低分

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var perCount=parseInt(prompt("请输入人数"));
var perScore=[];//定义数组,存储班级每个人的成绩
for(i=0;i<perCount;i++){
perScore[perScore.length]=parseInt(prompt("请输入第"+(i+1)+"个人的成绩"));
}
//console.log(perScore);
//求总成绩
var sum=0;
var avg=0;
var max=perScore[0];
var min=perScore[0];
for(i=0;i<perScore.length;i++){
sum+=perScore[i];//求和
//求最大值
if(max<perScore[i]){
max=perScore[i];
}
//求最小值
if(min>perScore[i]){
min=perScore[i];
}
}
avg=sum/perScore.length;
console.log("这个班级的总成绩为:"+sum);
console.log("这个班级的平均值为:"+avg);
console.log("这个班级的最高成绩为:"+max);
console.log("这个班级的最低成绩为:"+min);

10、冒泡排序:把所有的数据按照一定的顺序进行排序(从小到大,从大到小)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var arr8=[50,9,89,34,0,33,22];
//循环控制比较的轮数
for(i=0;i<arr8.length-1;i++){
//控制每一轮的比较的次数
for(j=0;j<arr8.length-1-i;j++){
if(arr8[j]>arr8[j+1]){//如果前面的值比后面的值大,就要交换位置
var tep=arr8[j];
arr8[j]=arr8[j+1];
arr8[j+1]=tep;
}
}
}
console.log("冒泡排序从小到大的顺序为:"arr8);

冒泡排序(从大到小)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var arr8=[50,9,89,34,0,33,22];
//循环控制比较的轮数
for(i=0;i<arr8.length-1;i++){
//控制每一轮的比较的次数
for(j=0;j<arr8.length-1-i;j++){
if(arr8[j]<arr8[j+1]){//如果前面的值比后面的值小,就要交换位置
var tep=arr8[j];
arr8[j]=arr8[j+1];
arr8[j+1]=tep;
}
}
}
console.log("冒泡排序从大到小的顺序为:"+arr8);

arguments

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<meta charset=utf-8><script>
/*计算两个数的和
function f1(x,y){
return x+y;
}
/*计算三个数的和
function f2(x,y,z){
return x+y+z;
}
/*计算四个数的和
function f3(x,y,z,m){
return x+y+z+m;
}
/*计算五个数的和
function f4(x,y,z,m,k){
return x+y+z+m+k;
}*/
/*计算n个数的和*/
/*定义一个函数,如果不确定用户是否传入了参数,但是如果在函数中知道值和个数,就可以计算*/
function f1(){
console.log(arguments.length);//函数在调用的时候,传入了几个参数
console.log(arguments);
}
f1(10,20,92);
function f2(){
var sum=0;
for(i=0;i<arguments.length;i++){
sum+=arguments[i];
}
return sum;
}
console.log(f2(1,2,3,4,5));
</script>