在编程世界中,我们经常需要处理多个相关的数据:
数组就是存储多个数据的容器。就像:
let score = 100;)举个例子来理解:
let level1 = 5;let level1 = 5; let level2 = 12; let level3 = 8;基本关系:
接下来我们学习如何创建和使用数组。
让我们从最基本的数组创建开始。
解释:
scores 的变量[100, 85, 92] 是一个数组,包含三个数字, 进行分隔[] 来创建数组,数组元素放在 [] 里面另一个例子:字符串数组
names 数组包含3个字符串元素" 包围重要概念:数组的长度
在编程中,数组不仅仅是一个数据的集合,它还带有一些内置的信息。就像一个储物柜不仅有格子,还有总格子数量,数组也有自己的信息,
. 是用来访问属性的符号,和 console.log 里面的点号是一样的作用:scores.length 理解为 "scores的长度"详细解释 scores.length:
scores:数组变量名,存储了 [100, 85, 92].:点号,表示"的"的意思,和 console.log 中的点号作用相同length:属性名,表示"长度"scores.length:合起来就是"scores的长度"数组长度属性的特点:
scores.length 来获取数组中元素的数量在我们创建数组并放入元素后,接下来最重要的操作就是访问数组中的元素。
让我们通过一个简单的例子开始:
解释:
let names = ["勇者", "法师", "弓箭手"]; 创建了一个叫 names 的数组变量names[0] 访问 names 储物柜的0号格子names[1] 访问 names 储物柜的1号格子names[2] 访问 names 储物柜的2号格子从上面的例子中,我们看到使用了 names[0]、names[1]、names[2] 来访问数组中的元素。
索引就是数组中元素的位置编号,就像储物柜的格子编号一样:
索引的重要特点:
重要概念:索引从0开始
这是编程的基本规则,非常重要:
重要观察:
实际应用:访问最后一个元素
如果我们尝试访问一个超出数组范围的索引,会发生什么呢?让我们看看:
运行结果解释:
undefined(未定义)什么是 undefined?
undefined 是一个特殊的值,特定用来表示"未定义"或"不存在"undefined重要提醒:
安全访问的小技巧:
学会了如何访问数组元素后,我们也可以修改数组中已存在的元素。
重要回顾:变量位置的核心原则
在变量赋值课程中,我们学习了一个核心原则:
= 左边 → 赋值操作(向变量写入数据)= 左边 → 读取操作(从变量取出数据)这个原则同样适用于数组元素!
修改数组元素:通过索引直接给数组中的某个位置赋新值。
理解修改操作的变量位置原则:
赋值操作:scores[1] = 95
scores[1] 在 = 左边 → 向数组索引1位置写入数据95[85, 92, 78, 96] 变成 [85, 95, 78, 96]读取vs赋值对比:
修改操作的核心特点:
= 左边就是赋值,不在左边就是读取错误的修改示例:
变量位置原则总结: 无论是普通变量还是数组元素,判断是读取还是赋值的核心标准都是:
= 左边 → 赋值/写入= 左边 → 读取这个原则适用于所有变量操作,包括数组元素的修改!
数组最常见的使用场景是结合循环来处理多个元素。
什么是"遍历"? "遍历"就是按顺序访问数组中的每一个元素,确保不遗漏任何一个。就像老师点名时,要从第一个学生念到最后一个学生,确保每个学生都被点到。
理解循环遍历:
let i = 0:从索引0开始
i < grades.length:只要索引小于数组长度就继续
grades.length 个元素i < grades.length(不包括等于)grades.length - 1i = i + 1:每次循环索引加1,确保访问到每个元素grades[i]:使用索引访问每个元素举个例子说明索引范围:
循环过程分析:
i = 0,访问 grades[0](第1个元素)i = 1,访问 grades[1](第2个元素)i = 2,访问 grades[2](第3个元素)i = 3 时,3 < 3 为 false,循环停止为什么用第一个元素初始化最大值和最小值?
在开始查找之前,我们需要一个"基准值"来进行比较。使用数组第一个元素来初始化最大值和最小值是最合理的方法,因为:
maxTemp 和 minTemp 分别存储了已经检查过的元素中的最大值和最小值maxTemp 和 minTemp 就是整个数组的最大值和最小值常见数组操作模式:从一个数组计算得到新数组
这是一个非常常见的编程操作:读取一个数组的数据,经过计算和处理,生成新的数组。
基本操作模式:
[] 用于存储结果if 语句对每个元素进行判断和处理今天我们系统学习了数组的基础知识,按照学习顺序总结:
[100, 85, 92])或多个文本(如["小明", "小红"])[]创建数组,可以包含初始元素array[index]获取特定位置的元素.length属性获取数组中元素的数量for循环访问数组中的每个元素undefined数组是编程中最重要的数据结构之一,就像变量的"兄弟"一样重要!掌握数组的基础概念、创建、访问、修改和遍历操作,为后续学习数组的高级操作方法和TypeScript类型系统打下了坚实基础。
下一步学习: 数组操作方法和类型声明,我们将深入学习 push()、pop() 等数组方法以及TypeScript的类型保护机制!