1.1 数组的基本使用
数组(Array) :一种将一组数据存储在单个变量名下的优雅方式。
是一种可以按顺序保存数据的数据类型。
为什么要数组?
思考:如果我想保存一个班里所有同学的姓名怎么办?
场景:如果有多个数据可以用数组保存起来,然后放到一个变量中,管理非常方便
let arr = []
1.声明语法
// 1、字面量声明数组 let 数组名 = [数据1, 数据2, ..., 数据n] // 2、构造函数声明数组 let 数组名 = new Array(数据1, 数据2, 数据3, ..., 数据n)
例:
let names = ['张三', '李四', '王二', '麻子', '坤坤']
数组是按顺序保存,所以每个数据都有自己的编号
计算机中的编号从0开始,所以张三的编号为0,李四编号为1,以此类推,坤坤是4
在数组中,数据的编号也叫索引或下标
数组可以存储任意类型的数据
2.取值语法
数组名[下标]
例:
let names = ['张三', '李四', '王二', '麻子', '坤坤'] names[0] // 张三 names[4] // 坤坤
通过下标取数据
取出来是什么类型的,就根据这种类型特点来访问
3.一些术语
元素:数组中保存的每个数据都叫数组元素
下标:数组中数据的编号
长度:数组中数据的个数,通过数组的length属性获得
4.遍历数组
用循环把数组中每个元素都访问到,一般会用for循环遍历
语法:
for (let i = 0; i < 数组名.length; i++) { 数组名[i] }
5. 数组求和、平均值
需求:求数组 [ 2, 6, 1, 7, 4 ] 里面所有元素的和以及平均值
分析:
1、声明一个求和变量 sum。
2、遍历这个数组,把里面每个数组元素加到 sum 里面
3、用求和变量 sum 除以数组的长度就可以得到数组的平均值
let arr = [2, 6, 1, 7, 4] // 求和变量 let sum = 0 // 遍历累加 for (let i = 0; i < arr.length; i++) { sum += arr[i] } // 求和 console.log(`数组中所有元素的和为${sum}`) // 平均值 console.log(`平均值为${sum / arr.length}`)
6. 数组求最大值和最小值
需求:求数组[ 2, 6, 1, 77, 52, 25, 7 ] 中的最大值
分析:
1、声明一个保存最大元素的变量 max。
2、默认最大值可以取数组中的第一个元素。
3、遍历这个数组,把里面每个数组元素和 max 相比较
4、如果这个数组元素大于max 就把这个数组元素存到 max 里面,否则继续下一轮比较
5、最后输出这个 max
let arr = [2, 6, 1, 77, 52, 25, 7] // 存放最大值 let max = arr[0] // 存放最小值 let min = arr[0] // 遍历循环 for (let i = 1; i < arr.length; i++) { // 如果 max 比数组元素小,把这个元素给 max if (max < arr[i]) { max = arr[i] } // 如果 min 比数组元素大,把这个元素给 min if (min > arr[i]) { min = arr[i] } } // 输出结果 console.log(`最大值是:${max}`) console.log(`最小值是:${min}`)
1.2 操作数组
数组本质是数据集合,操作数据无非就是 增、删、改、查 语法:
新增
数组.push(新增的内容)方法将一个或多个元素添加到数组的末尾,并返该数组的新长度(重点)
语法:
arr.push(元素1, ..., 元素n)
例如:
let arr = ['red', 'green'] arr.push('pink') console.log(arr) // ['red', 'green', 'pink']
数组.unshift(新增的内容)方法将一个或多个元素添加到数组的开头,并返回该数组的新长度
语法:
arr.unshift(元素1, ..., 元素n)
例如:
let arr = ['red', 'green'] arr.unshift('blue') console.log(arr) // ['blue', 'red', 'green']
删除
数组.pop()方法从数组中删除最后一个元素,并返回该元素的值
语法:
arr.pop()
例如:
let arr = ['red', 'green', 'blue'] arr.pop() console.log(arr) // ['red', 'green']
数组.shift()方法从数组中删除第一个元素,并返回该元素的值
语法:
arr.shift()
例如:
let arr = ['red', 'green', 'blue'] arr.shift() console.log(arr) // ['green', 'blue']
数组.splice()方法,删除指定元素
语法:
arr.splice(start, deleteCount) arr.splice(起始位置, 删除几个元素)
例如:
let arr = ['red', 'green', 'blue'] arr.splice(1, 1) console.log(arr) // ['red', 'blue']
解释:
start 起始位置:
指定修改的开始位置 (从0计数)
deleteCount:
表示要移除的数组元素的个数
可选的。如果省略则默认从指定的起始位置删除到最后
修改
语法:
数组[下标] = 新值
查询
语法:
数组[下标]
或者我们称为访问数组数据