JavaScript 学习笔记(三)-JavaScript 数组
1. 数组的概念
数组是指 一组数据的集合,其中每个数据被称为 元素,在数组中可以存放 任意类型的元素。
数组是一种将 一组数据存储在单个变量名下 的优雅方式
1 | // 普通变量一次只能存储一个值 |
2. 创建数组
1. 数组的创建方式
JS 中创建数组有两种方式:
利用 new 创建数组
1
2var 数组名 = new Array();
var arr = new Array();利用数组字面量创建数组
1
2var 数组名 = [];
var 数组名 = ['Hello World', '你好', '张三', '李四'];- 数组字面量使用方括号 []
- 声明数组并赋值称为数组的初始化
2. 数组元素的类型
数组中可以存放 任意类型 的数据,例如 字符串,数字,布尔值等。
1 | var arrStus = ['张三', 12, true, 3.14]; |
3. 获取数组元素
1. 数组的索引
索引(下标):用来访问数组元素的序号(数组下标从 0 开始)
1 | var arr = ['张三', '李四', '小白', '小黑', '小黄']; |
数组可以通过 索引 来访问、设置、修改对应的数组元素,我们可以通过 “数组名[索引]“ 的形式来获取数组中的元素
1 | // 定义数组 |
4. 遍历数组
遍历:就是把数组中的每个元素从头到尾都访问一次(类似点名)
利用循环遍历数组:
1 | // 1.因为数组的索引号从 0 开始,所以 i 必须从 0 开始 |
1. 数组的长度 length
使用 “数组名.length“ 可以访问数组元素的数量(数组的长度)
1 | var arr = ['张三', '李四', '小白', '小黄', '小黑', '小王']; |
1 | // arr.length 动态检测数组元素的个数 |
5. 数组中新增元素
1.修改 length 长度
可以通过修改 length 长度来实现数组扩容的目的
length 属性是可读写的
1 | var arr = ['red', 'green', 'blue', 'pink']; |
其中索引号 4, 5, 6 的空间没有给值,默认值就是 undefined
2. 修改数组索引
- 可以通过修改数组索引的方式追加数组元素
- 不能直接给数组名赋值,否则会覆盖掉以前的数据
1 | var arr = ['red', 'green', 'blue', 'pink']; |
推荐使用此方式
6. 案例
1. 筛选数组
将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于且等于 10 的元素选出来,存入新数组
- 声明一个新的数组 newArr 用于存放新数据
- 遍历原来的旧数组,找出大于等于 10 的元素
- 依次追加给新数组 newArr
1 | var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]; |
2. 翻转数组
将数组 [‘red’, ‘green’, ‘blue’, ‘pink’, ‘purple’] 的内容颠倒存放进新数组
- 声明一个新数组 newArr
- 将旧数组索引号第 4 个取过来(arr.length - 1),存进新数组索引号第 0 个元素(newArr.length)
- 采取 递减的方式 i–
1 | var arr = ['red', 'green', 'blue', 'pink', 'purple']; |
3. 数组排序(冒泡排序)
冒泡排序是一种简单的排序算法,把一系列的数据按照一定的顺序进行排列显示(从大到小或从小到大)
它重复地走访过要排序的数列,依次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
将数组 [5, 4, 3, 2, 1] 从小到大进行排序
核心思路:
- 一共需要的趟数 用外层 for 循环
- 5 个数据一共需要走 4 趟
- 长度为 数组长度 减去 1,即 arr.length - 1
- 每一趟交换次数 用内层 for 循环
- 第一趟 交换 4 次
- 第二趟 交换 3 次
- 第三趟 交换 2 次
- 第四趟 交换 1 次
- 长度为 数组长度 减去 次数
- 次数从 0 开始,即 arr.length - i - 1
- 交换 2 个变量
1 | var arr = [5, 4, 3, 2, 1]; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Littleluoの小站!
评论