数组
数组是什么
数组(Array)是一种可以按顺序保存数据的数据类型 为什么要数组? 思考:如果我想保存一个班里5个人的姓名怎么办? 如果有多个数据可以用数组保存起来
- 数组的声明语法
例:
- 数组是按顺序保存,所以每个数据都有自己的编号
- 计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推
- 在数组中,数据的编号也叫索引或下标
- 数组可以存储任意类型的数据(建议放同一类型的数据)
通俗的讲: 数组(Array)是一种可以按顺序保存数据的数据类型 可以放多个数据 方便我们使用
一般的话: 一般配合循环一起使用
声明数组并且能够获取里面的数据
取值语法
例:
通过下标取数据 取出来是什么类型的,就根据这种类型特点来访问
数组的属性
下标:数组中数据的编号
数组的长度:数组中数据的个数,通过数组的length属性获得
例如let car=['保时捷','阿斯顿马丁','法拉利','五菱宏光']
car[0] //保时捷
car[1] //阿斯顿马丁
遍历输出数组里面的元素
遍历数组: 用循环把数组中每个元素都访问到,一般会用for循环遍历
语法:
例:
例如:let car=['保时捷','阿斯顿马丁','法拉利','五菱宏光']
for (let i = 0; index < car.length; i++) {
document.write(car[i]);
}
<script>
let fruits=['苹果','香蕉','西瓜','哈密瓜'];
//fruits.length 指的是数组的长度
for (let i= 0; i<fruits.length; i++) {
document.write(fruits[i])
}
//小结 我们使用数组做for循环的时候
// 1. for循环中的初始值的声明(let i=0);因为数组是从 0 1 2 3 开始排序的
// 2. 第二个循环条件 for 循环中的条件 是i要<数组的长度
</script>
数组求和案例
需求:求数组 [2,6,1,7, 4] 里面所有元素的和以及平均值
分析: ①:声明一个求和变量 sum。 ②:遍历这个数组,把里面每个数组元素加到 sum 里面。 ③:用求和变量 sum 除以数组的长度就可以得到数组的平均值。
<script>
//需求 求数组[2,6,1,7,4]里面元素的和以及平均值
//先把数组遍历出来 再求和
let gross=0;
let number=[2,6,1,7,4]
for (let i= 0; i< number.length; i++) {
// document.write(number[i]) //先看看我们自己写的数组是否能成功遍历
//再取消 因为是求和 这一步不需要直接打印出来 需要把和输出打印
gross=gross+number[i]
}
document.write(gross)
// 注意求和还是你一定要声明一个不影响计算结果的变量
</script>
03-数组求平均值
<script>
//求数组[2,6,1,7,4]里面元素的平均值 那就把总值除以数组个数
let maxmax=0;
let max=0;
let gross=[2,6,1,7,4]
for (let i= 0; i< gross.length; i++) {
max=max+gross[i];
maxmax=max/gross.length
}
document.write(maxmax)
//首先遍历数组 再利用for'循环 求值 再求职之前声明个变量容器来存储五个数的总和
//总求求出来后 是存放在max里面的 当然我们需要的是求平均数
//再声明一个为0的变量 来存放平均数 把max这个总求除以数组的长度就可以了
</script>
04-求数组中的最大值
<script>
//需求 求数组中[2,6,1,77,52,25,7]的最大值 和最小值
let aarr=[2,6,1,77,52,25,7]
let max=aarr[0]
for (let i = 0; i< aarr.length; i++) {
//此段代码的意识是 如果aarr大于max 那就赋值给max 最终输出max结果 就是最大值
if(aarr[i]>max){
max=aarr[i]
}
}
document.write(max)
</script>
05-求数组中的最小值
<script>
//需求 求数组中[2,6,1,77,52,25,7]的最小值
let min=arr[i];
let aarr=[[2,6,1,77,52,25,7]]
for (let i = 0; i < aarr.length; i++) {
if(min<aarr[i]){
min=aarr[i]
}
}
document.write(min)
</script>
操作数组
数组本质是数据集合, 操作数据无非就是 增 删 改 查 语法:
- 数组增加新的数据
数组.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度
例如:
-数组-push的应用
<script>
let fruits=['苹果','香蕉','梨子']
fruits.push('草莓')
document.write(fruits)
</script>
-数组-push的小案例
<script>
//接受用户输入的4个同学的名字 组成一个数组
let name=[];
for (let i = 0; i <=4; i++) {
let name2=prompt('请输入你同学的姓名') ;
name.push(name2)
}
document.write(name)
</script>
arr.unshift(新增的内容) 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度
语法:
例如:
代码示例:
<script>
//在数组最前 添加
let aarr=['苹果','香蕉','梨子']
aarr.unshift('奥特曼')
document.write(aarr)
</script>
-获取不等于0数组元素
<script>
// 需求 获取一个新数组 新的数组 不能带上0 [5,0,6,8,0,15,88,0]
let aarr=[5,0,6,8,0,15,88,0];
let newAarr=[];
for (let i= 0; i< aarr.length; i++) {
if(aarr[i]!=0){
newAarr.push(aarr[i]);
};
}
document.write(newAarr);
</script>
能够利用splice删除数组元素(数据)
数组删除元素
数组. pop() 方法从数组中删除最后一个元素,并返回该元素的值
语法:
例如:
代码示例:
<script>
//数组 删除最后一个元素 pop
let fruits=['西瓜','苹果','梨子']
fruits.pop();
document.write(fruits);
//删除掉第一个元素
let car=['保时捷','法拉利','宝马']
car.shift();
document.write(car)
</script>
数组删除元素
数组. shift() 方法从数组中删除第一个元素,并返回该元素的值
语法:
例如:
数组删除元素
数组. splice() 方法 删除指定元素
语法:
代码示例:
<script>
let car=['保时捷','奔驰','宝马','奥迪','法拉利']
//现在要想要删除保时捷 和奥迪 指定删除
car.splice(0,1); //第一个数字表示要删除的下标 第二个为要删除元素的个数 为1就是删除自己本身
document.write(car);
</script>
解释:
-
start 起始位置:
指定修改的开始位置(从0计数)
-
deleteCount:
表示要移除的数组元素的个数
-
可选的。 如果省略则默认从指定的起始位置删除到最后
补充 : 获取数组最后一个元素 arr[arr.length-1]
数组快速删除元素的方式 arr.length=0
arr=[ ]
数组的长度是可以动态变化的 既可以新增也可以减少