JavaScript数组学习笔记
前言: 本周学习了JavaScript中的数组,在学习之前也在其他编程语言中学习过数组,总得来说数组还是编程语言中相对比较重要的知识点。
1.数组的概念
思考:之前我们学习的数据类型,变量只能存储一个值。
如果我们想存储班级中所有学生的姓名,那么该如何存储呢?
思考分析:我们可以使用变量一个个去存储全班同学的姓名,这种方法也能完成效果,但是从实际开发的角度,并不建议这样做,效率太低了,也不利于程序后期的维护。因此我们就要使用到数组(Array)。
1.1什么是数组呢?
数组是指一组数据的集合,有点类似数学中的集合概念,其中的每个数据被称作元素,数组是一种用来存储一系列相同类型的元素的容器,数组是一种将一组数据存储在单个变量名下的优雅方式。
//普通变量一次只能存储一个值
var num = 10;
//数组一次可以存储多个值
var arr = [1,2,3,4,5];
2.数组创建
2.1数组创建的方式
JS中创建数组有两种方式:
- 利用 new 关键字 创建数组(原型创建)
- 利用数组字面量创建数组(直接创建)
2.2利用new创建数组
var 数组名 = new Array();
var arr= new Array(); //创建一个空数组
注意:Array(),A要大写
2.3利用数组字面量创建数组
//1. 使用数组字面量方式创建空的数组
var 数组名 = [];
//2. 使用数组字面量方式创建带初始值的数组
var 数组名 = ['我是','JavaScript','数组','星辰'];
- 数组的字面量是方括号“[]”
- 声明并赋值称为数组的初始化
- 此外在创建数组时尽量不要一开始就规定长度,
如:var 数组名=new Array(5) - 这种字面量方式也是我们以后使用最多的方式
2.4数组元素的类型
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。
var arrnum = ['星辰',20,true,28.9]
3.数组及变量存储方式
我们知道用new创建一个数组就是在内存中开辟一个空间,那么具体是怎么操作的呢,这就涉及到栈内存和堆内存了,简单来说:除了局部变量,其他的全都存在堆中。根据变量的数据类型,分为以下两种情况:
- 如果是基础类型,那栈中存的是数据本身。
- 如果是对象类型,那栈中存的是堆中对象的引用。
关于这块我自己也还是懵懂😂就不多写了,
4.获取数组中的元素
4.1数组的索引
-
索引(下标):用来访问数组元素的序号
(数组下标从0开始)。var arr = [‘星辰’,小白,‘前端’,‘学习’]
索引号:0 1 2 3 -
数组可以通过索引来访问、设置、修改对应的数组元素,我们可以通过“数组名[索引]”的形式来获取数组中的元素。 这里的访问就是获取得到的意思.
4.2遍历数组
- 思考:数组中的每一项我们怎么取出来?
答:可以通过“数组名[索引号]”的方式一项项的取出来。
var arr ['星辰','前端','学习']
console.log(arr[0]) //星辰
console.log(arr[1])//前端
console.log(arr[2])//学习
- 再思考:怎么把数组里面的元素全部取出来?
规律:
从代码中我们可以发现,从数组中取出每一个元素时,代码是重复的,有所不一样的是索引值在递增
这好像跟前面学习的循环的使用场景一致,答案就是使用循环
遍历:就是把数组中的每个元素从头到尾都访问一次(类似我们每天早上学生的点名)。
我们可以通过 for 循环索引遍历数组中的每一项
var arrnum = [2021,20,10,34];
for(var n=0;n<arrnum.length;n++){
console.log(arrnum[n])
}
4.3数组的长度
使用"数组名.length"可以访问数组元素的数量(数组长度)
注意:
- 此处数组长度是数组元素的个数,不要和数组的下标混淆。
- .length的好处就是当我们数组里面的元素个数发生了变化,这个length属性会跟着一起变化。
4.4数组中新增元素
通过修改length长度新增数组元素
- 可以通过修改length长度来实现数组扩容的目的的
- length 属性是可读写的
其中索引号是 4,5,6 的空间没有给值,就是声明变量未给值,默认值就是 undefined。
4.4.1通过修改数组索引新增数组元素
- 可以通过修改数组索引的方式追加数组元素
- 不能直接给数组名赋值,否则会覆盖掉以前的数据
这种方式也是我们最常用的一种方式。
5.数组案例
5.1 求总分 :依次的将数组中的元素求和
要求:在控制台同时显示原数组元素和求和后的结果。
- 案例分析
1.声明一个变量sum用来存储求和后的结果。
2.遍历数组中每个元素,并把每次遍历的元素相加的值赋给sum
3.控制台打印数组及结果。
实现代码:
var sum = 0;
var arr = [50,30,85,90,71,25]
for(var n=0;n<arr.length;n++){
arr[n]
sum=sum+arr[n]
}
console.log(arr)
console.log("数组arr求和后的值是:"+sum)
运行结果:
5.2 求数组中元素的最大值
- 案例分析
1.声明一个变量max用来存储比较后的最大值。
2.遍历数组中每个元素,并把每次遍历的元素两两最大的的值赋给max
3.控制台打印数组及结果。
var num=[70,85,98,50,95,55,89]
var max=num[0]
for(var n=1;n<num.length;n++){
if(num[n]>max){
max=num[n]
}
}
console.log(num)
console.log("数组中的最大值是"+max)
运行结果:
结语:
以上就是本周JavaScript数组学习的笔记,并没有写完还有排序、删除数组重复元素等内容……等下周学完一起补上吧💕💕💕