JavaScript基础 第三天

1.for循环

2.数组的基本使用和操作

3.数组排序

一.for循环

① 语法:把声明起始值,循环条件,变量值写到一起,让人一目了然

for(变量起始值;终止条件;变量变化量) {// 循环体
}举例:
for (let i = 0; i <= 100; i++) {document.write(`我今年${i}岁了<br>`)
}

② 循环嵌套

        for (let i = 1; i <= row; i++) {for (let j = 1; j <= col; j++) {document.write('⭐')}document.write('<br>')}

二.数组

1.数组的概念以及基本使用

2.操作数组

2.1 数组的概念以及基本使用

  •  数组:是一种可以按顺序保存数据的数据类型
  • 可以将多个数据保存在一个变量中,管理起来非常方便
  • 声明语法
// 1.数组字面量
let 数组名 = [数据1, 数据2, .... 数据n]// 2.使用new Array 构造函数声明
let arr = new Array(1, 2, 3, 4)
  •  数组是按顺序保存的,所以每个数据都有自己的编号,数据的编号也叫索引或者下标
  •  数组可以存放任意类型的数据
  •  取值语法: 数组名[下标]
  •  遍历数组
for (let i = 0; i < arr.length; i++) {console.log(arr[i])
}

2.2 操作数组

① 修改数组

let arr = ['pink', 'red', 'green']
arr[0] = 'chen'
for (let i = 0; i < arr.length; i++) {arr[i] += '老师'
}

② 数组添加新的数据

数组.push(新增的内容)

  • 将一个或多个元素添加到数组的末尾,并返回该数组的新长度
  • 语法: arr.push(元素1,元素2,元素3...     元素n)
  • 返回值:返回新的数组长度length
 let arr = ['pink', 'hotpink']
// 可以加多个,追加到末尾arr.push('deeppink', 'lightpink')

数组.unshift(新增的内容)

  • 将一个或者多个元素添加到数组的开头,并且返回数组的新长度
  • 语法:arr.unshift(元素1,元素2,元素3, 元素4)
  • 返回值:返回新的数组长度length
arr.unshift('deeppink', 'lightpink')

③ 删除数组中的元素

数组.pop()

  • 删除数组中的最后一个元素,并返回该元素的值,一次只能删一个
  • 语法: arr.pop()
  • 返回值: 返回被删除元素的值
let arr = ['red', 'blue', 'green']
//删除最后一个元素
arr.pop()

数组.shift()

  • 删除第一个元素,返回该元素的值,一次只能删一个
  • 语法:arr.shift()
  • 返回值:返回被删除的元素的值
// 删除第一个元素
arr.shift()

数组.splice(操作的下标,删除的个数)

  • 删除指定元素
  • 语法: arr.splice(起始位置,  删除几个元素)
  • 如果第二个参数省略,则默认从指定的起始位置删除到最后
// 删除指定元素 splice(起始位置-索引号,删除几个)arr.splice(1, 1);
// 只写一个,从索引号的位置开始,删除到最后arr.splice(1)

三.排序

冒泡算法思想:

① 两层循环

② 第一层循环:一共需要的趟数

③ 第二层循环:每一趟交换次数

④ 交换两个相邻变量

        for (let i = 0; i < arr.length; i++) {for (let j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {let temp = arr[j]arr[j] = arr[j + 1]arr[j + 1] = temp}}}

数组排序方法

// 默认升序
arr.sort()// 升序
arr.sort(function (a, b) {return a - b
})// 降序
arr.sort(function (a, b) {return b - a
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL SERVER ip地址改别名

SQL server在使用链接服务器时必须使用别名&#xff0c;使用ip地址就会把192.188.0.2这种点也解析出来 解决方案&#xff1a; 1、物理机ip 192.168.0.66 虚拟机ip 192.168.0.115 2、在虚拟机上找到 C:\Windows\System32\drivers\etc 下的 &#xff08;我选中的文件&a…

批量打印-----jsPDF将图片转为pdf,并合并pdf

注意一、 使用jspdf将图片&#xff08;jpg/jpeg/png/bmp&#xff09;转pdf&#xff08;记为pdfA&#xff09;&#xff0c;得到的pdf&#xff08;pdfA&#xff09;和需要合并的pdf(记为pdfB)类型不一致&#xff0c;需要将pdfA转为pdfB类型&#xff0c;才能合并&#xff0c;使用a…

C#与C/C++交互(1)——需要了解的基础知识

【前言】 C#中用于实现调用C/C的方案是P/Invoke&#xff08;Platform Invoke&#xff09;&#xff0c;让托管代码可以调用库中的函数。类似的功能&#xff0c;JAVA中叫JNI&#xff0c;Python中叫Ctypes。 常见的代码用法如下&#xff1a; [DllImport("Test.dll", E…

修改IDEA的idea.vmoptions参数导致IDEA无法打开(ReservedCodeCacheSize)

事发原因 Maven导依赖的时候OOM&#xff0c;因此怀疑是内存太小&#xff0c;尝试修改idea.vmoptions的参数&#xff0c;然后发现IDEA重启后打不开了&#xff0c;卸载重装后也无法打开。。。 实际上如果导包爆出OOM的话应该调整下图参数&#xff0c;不过这都是后话了 解决思路…

【从零开始学习JAVA | 第四十四篇】TCP协议中的握手与挥手

前言&#xff1a; TCP&#xff08;传输控制协议&#xff09;作为计算机网络中的重要协议&#xff0c;扮演着确保数据可靠传输的角色。在TCP的通信过程中&#xff0c;握手与挥手问题是不可忽视的关键环节。握手是指在建立连接时&#xff0c;客户端与服务器相互确认彼此的身份并…

【学习FreeRTOS】第1章——FreeRTOS入门

1.裸机与RTOS介绍 1.1.裸机与RTOS引入&#xff08;举例&#xff09; 设定情景&#xff1a;小明同学一边打游戏一边恢复女友消息&#xff0c;中途突然肚子疼要上医院 裸机的抽象表达 当紧急情况时&#xff0c;如果当前正在打游戏&#xff0c;那么小明只能打游戏和回复信息的流…

Spring 事务管理

目录 1. 事务管理 1.1. Spring框架的事务支持模型的优势 1.1.1. 全局事务 1.1.2. 本地事务 1.1.3. Spring框架的一致化编程模型 1.2. 了解Spring框架的事务抽象&#xff08;Transaction Abstraction&#xff09; 1.2.1. Hibernate 事务设置 1.3. 用事务同步资源 1.3.1…

PHP最简单自定义自己的框架创建目录结构(二)

1、mvc目录结构 2、目录解释 KJ&#xff1a;项目名称 core&#xff1a;框架核心目录 KJ.php 框架运行入口 index: 框架模块 controller:模块控制器 model:模块模型数据库操作 view:页面显示html index.php:index模块框架入口 3、index.php框架入口文件引入框架 <?php r…

【前端】jeecgboot vue3开发过程使用方法整理

【前端】jeecgboot vue3开发过程使用方法整理 //定义变量 let list ref([]) 获取当前用户信息 const { userInfo } useUserStore(); 组件 JDictSelectTag {label: "用户ID",field: userId,component: JDictSelectTag, //默认值defaultValue: userInfo.userId,co…

python 异步IO实践

1、前言 1.1 计算密集型、IO密集型 python因为自身的GIL的问题导致并发不能像java和C一样&#xff0c;但并不是说Python不能实现并发。常见的有两种&#xff1a; 计算密集型 IO密集型 计算密集型 计算密集型任务的特点是要进行大量的计算&#xff0c;消耗CPU资源&#xff0c;比…

虚拟世界探索:科技之下的未来可能性

随着科技的飞速发展&#xff0c;人们对于虚拟世界的憧憬和探索也日益加深。虚拟世界&#xff0c;那是一个超越现实的概念&#xff0c;一个充满想象力和创造力的领域。然而&#xff0c;虚拟世界究竟有可能实现吗&#xff1f;这是一个引人深思的问题。 虚拟世界&#xff0c;首先让…

Java,python,c#,js,c++搞量化交易的接口大全

股票基金api接口地址&#xff1a;https://stockapi.com.cn 不想自己写的&#xff1a;https://stockapi.com.cn 除了牛逼&#xff0c;只剩下牛逼&#xff0c;除了方便&#xff0c;只剩下方便&#xff0c;python不是唯一的量化编程语言 接口说明&#xff1a;日线macd指标 https:/…

Vue.js2+Cesium1.103.0 六、标绘与测量

Vue.js2Cesium1.103.0 六、标绘与测量 点&#xff0c;线&#xff0c;面的绘制&#xff0c;可实时编辑图形&#xff0c;点击折线或多边形边的中心点&#xff0c;可进行添加线段移动顶点位置等操作&#xff0c;并同时计算出点的经纬度&#xff0c;折线的距离和多边形的面积。 De…

mysql死锁分析show engine innodb status

文章目录 1、show engine innodb status命令2、前置知识3、无符号数、有符号数4、innodb关于有符号数的规定5、为什么会有这个规定 1、show engine innodb status命令 最近在使用mysql的show engine innodb status命令分析死锁&#xff0c;发现了一个有意思的点。就是红框里圈…

vue3中使用jsx/tsx写ElMessageBox嵌套ElSelect、ElInput、ElDatePicker

- message: () > h() 必须是函数形式才能update数据。- 简单的 // 绑定参数 const pageData reactive({statusValue: null }) // 更改设备状态弹窗 const openDialogChangeStatus (ids: number[], name: string, doTxt: string) > {console.log(logopenDialogChange…

关于UnityC#当中常见的语法糖

1自动实现属性 (Auto-implemented Properties)&#xff1a;快速实现对象封装 // 传统属性 private int age; public int Age {get { return age; }set { age value; } }// 自动实现属性 public int Age { get; set; }2对象和集合初始化 (Object and Collection Initializers)…

JVM总结2

1.基本概念 java代码执行 代码编译class&#xff1a;javac 源文件通过编译器产生字节码文件&#xff0c;字节码文件通过jvm的解释器编译成机器上的机器码 装载class&#xff1a;ClassLoader执行class&#xff1a; 解释执行编译执行 client compilerserver compiler 内存管理…

常见的服务器安全管理漏洞

常见的服务器安全管理漏洞 企业信息化技术的应用&#xff0c;以不可逆转。随着文件服务器、ERP管理软件等等在企业中生根发芽&#xff0c;应用服务器也逐渐在企业中普及起来。以前在企业中有一台应用服务器已经是了不起的事情&#xff0c;现在有两台、三台的&#xff0c;也不为…

【LeetCode】169. 多数元素

目录标题 2023-8-9 10:43:27 169. 多数元素 2023-8-9 10:43:27 public int majorityElement(int[] nums) {int minTimes nums.length / 2;Arrays.sort(nums);int pre 0;int last pre;while (last < nums.length) {if (nums[pre] ! nums[last]) {if (last - pre > min…