目录
数组
数组的概念
数组
问:之前学习的变量,只能存储一个值。如果我们想存储班级中所有学生的姓名,那么该如何存储呢?
答:可以使用数组(Array)。数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式。
问∶什么是数组呢?
答∶数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
创建数组
new创建
数组字面量创建
数组元素的类型
这个数组非常牛逼,因为var是变量,所以没有任何限制数据类型,一个数据可以放很多不同的东西
获取数组元素
数组的索引
数组的长度
通过.length获取数组的长度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = [1, 2, 3, 5];
console.log(a.length); // 4
</script>
</head>
<body>
</body>
</html>
数组新增长度
修改length长度新增数组元素
length是可读写的,我们可以通过修改length来实现数组扩容的目的
修改数组索引新增数组元素
我们可以通过修改索引的方式追加元素,JS里要注意不要直接给数组名赋值,因为var的存在,会让他直接变赋值的那个东西,还有JS和C不一样,没有定义长度的限制,具体看下:
直接给4赋值都没问题,而且还可以跳,不过长度会计算0到最大索引的长度,中间没赋值的就是undefined
var a = [1, 2, 3, 5];
console.log(a.length); // 4
a[5] = '121';
console.log(a);
console.log(a[4]);
小技巧:length追加元素
由于JS数组的特殊性,所以可以有神奇的新玩法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = [];
for (var i = 1; i <= 5; i++) {
a[a.length] = i;
}
console.log(a);
</script>
</head>
<body>
</body>
</html>
因为每一次赋值后,a.length都会加1,所以可以实现追加元素