循环案例,for/while/dowhile,数组的基础知识

循环

  1. 断点调试souce
  2. for循环重复执行不同代码
  3. for循环重复执行相同代码
  4. 重复执行某些操作

简单例题

for while do while

  1. 求1-100之间所有数的平均数

查看答案

1
2
3
4
5
6
var sum = 0;
for(var i = 1;i<=100;i++){
sum = sum + i;
}
var average = sum / 100;
console.log('1-100所有数的平均数为:'+avr);
1
2
3
4
5
6
7
var sum =0;
var i = 1;
while(i <= 100){
sum += i;
i++;
}
alert('1-100的和为'+sum)
1
2
3
4
5
6
7
8
var sum = 0;
var i = 1;
do{
sum += i;
i++;
}
while(i <= 100);
alert(sum)
  1. 求1-100之间所有偶数和奇数的和

查看答案

1
2
3
4
5
6
7
8
9
10
11
12
var even = 0;
var odd = 0;
for(var i =1; i <= 100; i++){
if (i % 2 == 0){
even = even + i;
}else{
odd = odd + i;
}
}
console.log('1-100所有偶数的和'+even);
console.log('1-100所有奇数的和'+odd);

  1. 求1-100之间所有能被3整除的数字的和

查看答案

1
2
3
4
5
6
7
var sum = 0;
for(var i = 1; i <= 100; i++){
if(i % 3 == 0){
sum += i;
}
}
console.log('1-100内能被3整除所有数的和:'+sum);
  1. 学生成绩案例

查看答案

1
2
3
4
5
6
7
8
9
10
11
var people = prompt('请输入班级的人数:');
var grade = 0;
var sum = 0;
for(var i = 1; i <= people; i++){
grade = prompt('请输入第'+i+'个同学的成绩');
sum += parseFloat(grade);
}
var average = sum / people;
alert('班级学生的总成绩为:'+sum);
alert('班级学生的平均成绩为:'+average);

双重for循环
4. 打印n行n列的⭐

查看答案

1
2
3
4
5
6
7
8
9
10
var str = '';
var num = prompt('请输入要显示的⭐的行/列数:');
for(var i = 1; i <= num; i++){
for(var j = 1; j <= num; j++){
str += '⭐'
}
str += '\n'
}
alert(str)

  1. 打印n行n列每行依次减少一个的⭐(下三角)

查看答案

1
2
3
4
5
6
7
8
9
10
var str = '';
var num = prompt('请输入要显示的⭐的行/列数:');
for(var i = 1; i <= num; i++){
for(var j = 1; j <= num - i + 1; j++){
str += '⭐'
}
str += '\n'
}
alert(str)

  1. 打印n行n列每行依次减少一个的⭐(上三角)

查看答案

1
2
3
4
5
6
7
8
9
10
var row = prompt('请输入要输入的行/列数:');
var str = '';
for(i = 1; i <= row; i++){
for(j = 1; j<= i; j++){
str = str + '⭐';
//str += j + 'X' + i + '=' + i*j;
}
str += '\n';
}
alert(str);
  1. 求1-100之间,除了能被7整除之外的整数和

查看答案

1
2
3
4
5
6
7
8
var sum = 0;
for(var i = 1; i <= 100; i++){
if(i % 7 == 0){
continue;
}
sum += i;
}
alert('1-100除了能被7整除的所数的和:'+sum)
  1. 求1-100的累加值,但要求跳过所有的个数为3的数

查看答案

1
2
3
4
5
6
7
8
var sum = 0;
for (var i = 1; i <= 100; i++){
if (i % 10 == 3){
continue;
}
sum += i;
}
alert('求1-100的累加值,但要求跳过所有的个数为3的数为:'+sum)
  1. 银行存取钱js案例

查看答案

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
    while(true){
var cash = 100;
var content1 = prompt('请输入您要的操作(输入数字即可):\n1.存钱\n2.取钱\n3.显示余额\n4.退出');
switch(content1){
case '1':
var store = prompt('请输入存入的金额');
cash += parseFloat(store);
alert('您当前的金额为:' + cash + '元');
break;
case '2':
var fetch1 = prompt('请输入要取出的金额:');
while(parseFloat(fetch1) > cash){
fetch1 = prompt('您当前的余额为'+cash+'元,无法取出请您重新输入取出金额');
continue;
}
cash = cash - parseFloat(fetch1);
alert('您当前的金额为:' + cash + '元');
break;
case '3':
alert('您当前的金额为:' + cash + '元');
break;
case '4':
alert('您已退出');
break;
default:
alert('您输入的指令错误请重新输入');
break;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var money = 100;
while (true) {
var num = prompt('请输入您要进行的操作:' + '\n' + '1.存钱' + '\n' + '2.取钱' + '\n' + '3.显示余额' + '\n' + '4.退出');
if (num == '1') {
var add = parseFloat(prompt('输入存的钱数:'));
money += add;
alert('你现在的钱数是:' + money)
} else if (num == 2) {
var sub = parseFloat(prompt('输入取的钱数:'));
money -= sub;
alert('你现在的钱数是:' + money)
} else if (num == 3) {
alert('你现在的钱数是:' + money)
} else {
alert('正在退出...')
break
}
}

数组

  1. 利用new创建数组 new Array()
  2. 利用数组字面量创建数组[]

数组的索引

  1. 索引号从0开始
  2. 数组名[索引]
  3. 数组长度,数组名.length(动态监测数组元素的个数)

数组

  1. 一组数求最大值/最小值,数组

查看答案

1
2
3
4
5
6
7
8
9
10
11
var num = [1, 2, 2, 12, 312, 3124, 213,321];
var max = num[0];
var min = num[0];
for (var i = 1; i < num.length; i++){
if (num[i] > max){
max = num[i];
}else if(num[i] < min){
min = num[i];
}
}
alert('最大值为:'+max+'\n'+'最小值为:'+min);
  1. 筛选数组

查看答案

1
2
3
4
5
6
7
8
9
var num = [1, 2, 2, 12, 312, 3124, 213,321];
var newArr = [];
var j = 0;
for (var i = 0; i < num.length; i++){
if (num[i] > 10){
newArr[j] = num[i];
j++;
}
}console.log(newArr);
  1. 删除指定的数组元素

查看答案

1
2
3
4
5
6
7
var num = [1, 2, 2, 12, 312, 3124, 213,321];
var newArr = [];
for (var i = 0; i < num.length; i++){
if (num[i] != 2){
newArr[newArr.length] = num[i];
}
}console.log(newArr);
  1. 数值前后转换案例

查看答案

1
2
3
4
5
6
var num = [1, 2, 2, 12, 312, 3124, 213,321];
var newArr = [];
for (var i = num.length - 1; i >= 0; i--){
newArr[newArr.length] = num[i];
}
console.log(newArr);
  1. 冒泡排序

查看答案

1
2
3
4
5
6
7
8
9
10
11
12
var num = [1, 2, 12, 312, 3124, 213, 321];
var temp = 0;
for (var i = 0; i <= num.length - 1; i++){
for(var j = 0; j <= num.length - i - 1; j++){
if(num[j] < num[j + 1]){
temp = num[j];
num[j] = num [j + 1];
num[j + 1] = temp;
}
}
}console.log(num);