JavaScript基础Day03:数组和函数

JavaScript基础Day03

一、关键字break和continue

  • break:立即跳出整个循环,即循环结束,开始执行循环后面的内容。(跳出当前循环)

  • continue:结束本次循环,开始下一轮循环

    • demo01:求100-200之间除去尾数是3的和(用continue)
    	var sum = 0;
    for (var i = 100; i <= 200; i++) {
        if (i % 10 == 3) {
            continue;  //遇到尾数为3的数字跳出本次循环,开始下一个
        }
        sum += i;
    }
    console.log(sum); //结果:13670
    
    • demo02:找到100到200之间第一个可以被7整除的数字(break)
    for (var i = 100; i <= 200; i++) {
        if (i % 7 == 0) {
            console.log(i); //结果:105
            break;
        }
    }
    

二、数组

1. 数组的定义

数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。

2. 数组的概念

将多个元素(通常是同类型)按一定顺序排列放到一个集合中,这个集合我们就称之为数组。

3. 创建数组

  • 通过数组字面量定义:
    • var arr = []; //定义空数组
    • var arr = [10, 30, 20, 50, 40];
  • 通过创建构造函数定义数组:
    • var arr = new Array(); //定义空数组
    • var arr = new Array(10, 30, 20, 50, 40); //()中可以给长度,也可以直接给数据

4. 遍历数组

var arr = [10, 30, 20, 50, 40];
for (var i = 0; i < arr.length; i++) {  //arr.length:数组的长度
    console.log(arr[i]);  //结果:10, 30, 20, 50, 40
}
  • demo03:求数组的数据和
var arr = [10, 30, 20, 50, 40];
var sum = 0;
for (var i = 0; i < arr.length; i++) {  
    sum += arr[i];  //跟累加一样的思路
}
console.log(sum);  //结果:150
  • demo04:求数组的平均值
var arr = [10, 30, 20, 50, 40];
var sum = 0;
for (var i = 0; i < arr.length; i++) {  
    sum += arr[i];  
}
console.log(sum/arr.length);  //结果:30  平均值=总和/数据个数(也就是数组长度) 
  • demo05:求数组的最大值
var arr = [10, 30, 20, 50, 40];
var max = arr[0];  //设定数组第一个数是最大值
for (var i = 0; i < arr.length; i++) {
    if (max < arr[i]) {    //遇到比设定的max还大的数据时
        max = arr[i];		//max重新赋予当前值
    }
}
console.log(max);    //结果:50
  • demo06:输出数组反转之后的结果
var arr = [10, 20, 30, 40, 50];  //10与50交换,20与40交换
//反转的次数:arr.length / 2
for (var i = 0; i <= arr.length / 2; i++) {
    var temp = arr[i];  //设置临时变量,赋予temp当前数据
    arr[i] = arr[arr.length - 1 - i];   //a[0]=a[4]...
    arr[arr.length - 1 - i] = temp;
}
console.log(arr);  //结果[50, 40, 30, 20, 10]
  • demo07:用|拼接:小乔|周瑜|孙尚香|刘备|貂蝉|吕布
var arr = ["小乔", "周瑜", "孙尚香", "刘备", "貂蝉", "吕布"];
var str = "";
for (var i = 0; i < arr.length - 1; i++) {  //遍历到倒数第二个数据
    str += arr[i] + "|";
}
console.log(str + arr[arr.length - 1]);   //再把最后一个数据拼接上
  • demo08:将班级所有人的成绩放入数组,并求出总和、最大值、最小值、平均值
var num = parseInt(prompt("班级人数是:"));   //输入班级人数:3
var score = new Array(num);                 //设定数组大小为输入的班级人数
for (var i = 0; i < num; i++) {
    score[i] = parseInt(prompt("第" + (i + 1) + "个人的成绩是:"));  //依次输入成绩 10、20、30
}
console.log(score);     //Array(3)
var sum = 0;
var max = score[0];
var min = score[0];
for (var j = 0; j < score.length; j++) {
    sum += score[j];
    if (max < score[j]) {
        max = score[j];
    }
    if (min > score[j]) {
        min = score[j];
    }
}
console.log("总分数是:" + sum);   //60
console.log("最大值是:" + max);   //30
console.log("最小值是:" + min);   //10
console.log("平均值是:" + sum / score.length);  //20

5. 重点:冒泡排序

arr.length-15040302010arr.length-1-i
第一轮4030201050比较四次
第二轮30201040比较三次
第三轮201030比较两次
第四轮1020比较一次
  • demo09:给数组用冒泡排序法排序
var arr = [50, 20, 30, 10, 40];
//循环控制比较的轮数
for (var i = 0; i < arr.length - 1; i++) {
    //循环控制每一轮交换的次数
    for (var j = 0; j < arr.length - 1 - i; j++) {
        //交换
        if (arr[j] > arr[j + 1]) {
            var temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}
console.log(arr);  //结果:Array(5)  10 20 30 40 50

三、函数

function 函数名(参数) {

​	//执行代码

}

1. 参数

	形参和实参

2. 返回值

  • demo10:计算10和20的和
function add(x, y) {
    var sum = x + y;
    console.log(sum);
}
add(10, 20);  //结果:30
  • demo11:计算n-m的累加和
var sum = 0;
function getSum(n, m) {
    for (var i = n; i <= m; i++) {
        sum += i;
    }
    return sum;  //如果没有返回值,那么结果是undefined
}
console.log(getSum(1, 100));  //调用函数,结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值