当前位置: 首页 > news >正文

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.lryc.cn/news/119255.html

相关文章:

  • 2.Redis部署到Windows服务器
  • 【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究(Matlab代码实现)
  • Go语言基础: 有参函数Func、Map、Strings详细案例教程
  • JDBC连接数据库如何实现你会吗???
  • C#与C++交互(2)——ANSI、UTF8、Unicode文本编码
  • SQLSTATE[42000]: this is incompatible with sql_mode=only_full_group_by in
  • 企业权限管理(五)-订单分页
  • Blender如何给fbx模型添加材质贴图并导出带有材质贴图的模型
  • MySQL不走索引的情况分析
  • 安装ubuntu22.04系统,配置国内源以及ssh远程登录
  • win10 安装ubuntu子系统并安装宝塔
  • gazebo 导入从blender导出的dae等文件
  • 目标检测YOLOv3基于DarkNet53模型测试-笔记
  • Unity项目中查找所有使用某一张图片的材质球,再查找所有使用材质球的预设
  • postman接口测试中文汉化教程
  • java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver的解决办法
  • 认识所有权
  • 恒盛策略:怎样看k线图实图详解如何看懂k线图?
  • 物联网的定义、原理、示例、未来
  • Vue 整合 Element UI 、路由嵌套和参数传递(五)
  • Git全栈体系(四)
  • 数据结构初阶--二叉树的链式结构
  • Taro UI中的AtTabs
  • ChatGPT FAQ指南
  • 在矩池云使用ChatGLM-6B ChatGLM2-6B
  • 7.2 手撕VGG11模型 使用Fashion_mnist数据训练VGG
  • docker安装ES
  • python爬虫实战(2)--爬取某博热搜数据
  • k8s的Namespace详解
  • 【Redis】Redis内存过期策略和内存淘汰策略