JavaScript基础Day03:数组和函数

2023-11-15

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-1 50 40 30 20 10 arr.length-1-i
第一轮 40 30 20 10 50 比较四次
第二轮 30 20 10 40 比较三次
第三轮 20 10 30 比较两次
第四轮 10 20 比较一次
  • 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));  //调用函数,结果
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript基础Day03:数组和函数 的相关文章

随机推荐

  • Vue路由组件独有的两个生命周期钩子

    1 作用 用于捕获路由组件的激活状态 2 具体名字 2 1 activated路由组件被激活是触发 activated this timer setInterval gt console log this opacity 0 01 if t
  • Elastic Search:(一)快速入门

    目录 1 快速入门 1 1 核心概念介绍 1 2 RESTful风格介绍 1 2 1 概念 1 2 2 方法 1 3 索引 1 3 1 新增索引 PUT 1 3 2 获取索引 GET 1 3 3 删除索引 DELETE 1 3 4 判断索引
  • 以AI对抗AI,大模型安全的“进化论”

    点击关注 文丨刘雨琦 编 王一粟 互联网时代 我们是更危险 还是更安全 2016年 互联网正值高速发展之际 电梯广告经常出现这几个大字 两行标语 从病毒木马到网络诈骗 对于安全的思考 安全防范技术的建立一直在与科技发展赛跑 同样 大模型时代
  • paypal中授权返回_2020最新教程:如何在Unity Ads中填写W-8BEN(W8税表)

    税收资料作为payout profile的一部分 是必须要填写的 即使你不是美国居民 也需要填写个人资料的 纳税 部分 否则将无法获得来自于Unity的付款 由于我们不是美国居民 因此只需要填写W 8BEN即可 其实 它的填写方法与我之前写
  • 计算机中1kb等于多少字节,在计算机中1kb等于多少字节

    在计算机中1kb等于1024个字节 字节是计算机信息技术用于计量存储容量的一种计量单位 也表示一些计算机编程语言中的数据类型和语言字符 一个字节存储8位无符号数 本文操作环境 windows10系统 thinkpad t480电脑 学习视频
  • QEMU-在内核中增加驱动(6)

    上面是我的微信和QQ群 欢迎新朋友的加入 进入linux源码目录 增加驱动 hello c include
  • Java面试----2018最全Redis面试题整理

    1 什么是Redis 答 Redis全称为 Remote Dictionary Server 远程数据服务 是一个基于内存的高性能key value数据库 2 Redis的数据类型 答 Redis支持五种数据类型 string 字符串 ha
  • python 访问网络失败 huggingface ConnectionError

    使用Hugginface下载数据集 dataset load dataset path seamew ChnSentiCorp 结果遇到网络问题 huggingface ConnectionError Couldn t reach 原因是无
  • element中同一个一面使用两个table,使用v-if判断显示,数据混乱

    错误 在一个页面中使用两个table 绑定不同的数据 并且在table中row中使用
  • 梯度下降法求解线性回归--Numpy实现

    梯度下降法求解一元线性回归 依然是这个房价预测的任务 这是一个一元线性回归问题 这次我们采用梯度下降法来求解它可以分为5步 第1步加载样本数据x y 第2步设置超参数 在这个例子中 超参数包括学习率和迭代次数 第3步设置模型参数的初值 w
  • 巧用搜索摆脱新手程序员标签

    文章目录 巧用搜索摆脱新手程序员标签 在哪里搜 搜索什么 搜教程 搜IDE 搜特性 搜集成 搜比较 搜定义 搜原因 搜架构 搜错误 扩展阅读 巧用搜索摆脱新手程序员标签 在哪里搜 国外网站 Google 搜索引擎 Bing 搜索引擎 Git
  • Golang初入编程-踩坑笔记(1)

    一定要自己动手写 不然使用的时候可能连等号的位置都搞不清楚 该语言没有面向对象的概念 什么函数传什么参数返回什么值自己要多练习 i 属于独立语句 不能和其他语句写到一起 自己占一行 以下东东需要初始化 开辟空间 包括切片 指针 map 数组
  • java写一个android程序_【Android开发笔记】3.编写第一个Android程序

    前言 上一节我们通过一个Demo熟悉了Eclipse的基本使用 如何在模拟器和手机中运行以及如何打包成APK 但没具体编写代码 相信很多同学已经按耐不住了吧 这一节我们会动手编写代码来熟悉Android SDK的情况和JAVA的一些特性 声
  • OpenAPI 3.0 规范-食用指南

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • 在Kong网关中使用OAuth2认证

    文章目录 在Kong网关中使用OAuth2认证 前言 在Kong上开启HTTPS OAuth2认证 添加OAuth2插件 创建Consumer的OAuth2 credential 测试OAuth2 Authorization Flow 获取
  • 【无功优化】基于教与学算法实现IEEE_33节点无功优化附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号
  • Linux一行命令筛选并停止某个服务的进程

    Linux下 筛选某个服务 如nginx 的进程命令 ps ef grep nginx 如果想停掉相应的进程则可以使用kill命令 如果想一行命令筛选出进程号 并kill掉 则 ps ef grep nginx grep v grep aw
  • 解决VC6在Win7或Win10下调试无法结束进程的Bug

    自己的系统是Win7 装上了VC6 调试一段小代码之后再次编译的时候就提示如下的错误 LINK fatal error LNK1168 cannot open Debug 1 exe for writing 意思就是编译要生成同名的 1 e
  • vue中使用Swiper

    一 安装依赖 npm i swiper 二 项目中使用 import swiper swiperSlide from vue awesome swiper import swiper css swiper css div class lb
  • JavaScript基础Day03:数组和函数

    JavaScript基础Day03 文章目录 JavaScript基础Day03 一 关键字break和continue 二 数组 1 数组的定义 2 数组的概念 3 创建数组 4 遍历数组 5 重点 冒泡排序 三 函数 1 参数 2 返回