JavaScript基础 第三天

1.for循环

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

3.数组排序

一.for循环

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

javascript 复制代码
for(变量起始值;终止条件;变量变化量) {

    // 循环体
}



举例:
for (let i = 0; i <= 100; i++) {
  document.write(`我今年${i}岁了<br>`)
}

② 循环嵌套

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

二.数组

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

2.操作数组

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

  • 数组:是一种可以按顺序保存数据的数据类型
  • 可以将多个数据保存在一个变量中,管理起来非常方便
  • 声明语法
javascript 复制代码
// 1.数组字面量
let 数组名 = [数据1, 数据2, .... 数据n]

// 2.使用new Array 构造函数声明
let arr = new Array(1, 2, 3, 4)
  • 数组是按顺序保存的,所以每个数据都有自己的编号,数据的编号也叫索引或者下标
  • 数组可以存放任意类型的数据
  • 取值语法: 数组名下标
  • 遍历数组
javascript 复制代码
for (let i = 0; i < arr.length; i++) {
   console.log(arr[i])
}

2.2 操作数组

① 修改数组

javascript 复制代码
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
javascript 复制代码
 let arr = ['pink', 'hotpink']
// 可以加多个,追加到末尾
 arr.push('deeppink', 'lightpink')

数组.unshift(新增的内容)

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

③ 删除数组中的元素

数组.pop()

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

数组.shift()

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

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

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

三.排序

冒泡算法思想:

① 两层循环

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

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

④ 交换两个相邻变量

javascript 复制代码
        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
                }
            }
        }

数组排序方法

javascript 复制代码
// 默认升序
arr.sort()

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

// 降序
arr.sort(function (a, b) {
  return b - a
})
相关推荐
JieE2123 小时前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab5 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
一颗烂土豆11 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen14 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly16 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯16 小时前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒18 小时前
Bun 哪比 Node.js 快?
javascript·后端
JieE2121 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong1 天前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
_柳青杨1 天前
深入理解 JavaScript 事件循环
前端·javascript