数组
什么是数组?
数组是一组数据有序的集合。数组它是属于复合数据类型。它至少可以存储一个值(它可以存储很多很多值)。
例如我们生活中的仓库,可以存放很多我们需要的工具或物品
为什么要使用数组?
因为在我们工作中 有很多数据是有关联的 我们要表示的时候想把这些数据用一个”东西”来存储,这个时候就可以用到数组! 我们做开发的时候,需要将一个或多个数组进行存储的时候,可以考虑使用数组;
定义数组 创建数组
使用[]来定义数组
第一种方式:先定义一个空数组 再往这个空数组中添加数组元素
第二种方式:在定义数组时候直接添加数组元素
使用new关键字和Array()方法来定义数组
第一种方式:创建一个空数组 new Array()
第二种:创建一个数组 要指定数组的长度 new Array(length)
第三种:创建一个数组 并指定数组元素 new Array(元素1,元素1,元素N);
注意:
数组的相关概念
数组元素
指数组中的每一个数据!我们就把它们称之为数组元素,例如:
var arr=[“张三”,”李四”,”王五”];
数组下标(索引)
每一个数组元素都对应着一个数组下标 数组的下标是从0开始 第一个数组元素的下标是0,第二个数组元素的下标为1 第三个数组元素的下标为2 依此类推!
下标的主要作用就是为了方便找到数组中的元素!找到我们存在数组中的数据
如何访问数组里面的某一个元素
格式:
数组变量名[下标]
数组的长度
数组的长度:数组中元素的总个数
其实数组的变量名是一个数组对象
如何去计算数组的长度:
数组变量名.length
在JS中 数组对象下面有一个length的属性 这个属性可以得到数组的长度
数组的长度与最大下标之间有什么关系 ?
最大下标=数组的长度-1
<script>
//使用一个变量来保存所有同学的姓名
//数组在其它的程序语言里面是是数组类型 但是在JS里面没有数组类型 它是对象类型
//数组是一组数组的有序的集体 每个数据之间使用逗号分开 为了表示它是数组 要在这些数据的外面使用[]括起来
//数组是一组数据有序的集合 有顺序
//数组的长度 ----->数组里面的元素的个数
//语法:
//数组里面的元素它的类型可以是任意类型 没有限制
var arr = ["张三","李四","王五"
,18,true,false];
//数组的下标的目的是为了让我们的找到数组里面的元素
//格式: 数组的变量名[指定的下标值]
console.log(arr);
console.log(arr[2]);
//获取数组的长度 数组里面元素的总个数 JS仿照JAVA
console.log(arr.length);
//如果的最大下标与长度之间的关系
//数组里面最大的下标 = 数组的长度-1
var length = arr.length; //获取当前数组的长度将它赋值给变量length
console.log(arr[length-1]);
</script>
数组的遍历
什么是数组的遍历?
操作数组中的每一个数组元素
使用for循环来遍历数组
因为数组的下标是连续的,数组的下标是从0开始。
我们也可以得到数组的长度。
格式:
for(var i=0;i<数组的长度;i++){
数组变量名[i]
}
注意:条件表达式的写法
- i<数组的长度
- i<=数组的长度-1 // 数组最大下标
案例:
求数组里面元素的和
var arr=[10,20,3,22,90];
// 定义一个变量,用于临时统计所有元素的和
var sum=0;
for(var i=0;i<arr.length;i++){
// sum=sum+arr[i];
sum+=arr[i];
}
console.log(sum);
求数组里面元素是奇数的和
求数组中的最大值
使用数组的方式来实现输出今天星期几?
使用for..in语句来遍历数组
for..in它本身是用来遍历对象的,因为数组也是属于对象的一种,那么也可以使用for..in语句来遍历数组
格式:
for(var 变量名 in数组变量名){
数组变量名[变量名]
}
<script>
//求数组中元素是偶数得到其和
var arr = [10,20,18,19,16,22,33,11];
/*
//声明变量 相当于数组里面的下标值
for(声明变量 in 要遍历数组名){
//代码块
}
*/
var sum = 0; //用于存储偶数的和
for(var index in arr){
//判断数组里面的元素是不是偶数
if(arr[index] % 2 == 0){
sum += arr[index];
}
}
document.write("偶数的和:"+sum);
</script>
注意:
一般情况下我们都会使用for循环来遍历数组,因为使用for循环遍历数组非常直观。
多维数组
JavaScript它本身是没有多维数组的概念,因为在JavaScript中 数组元素的数据类型可以是任意数据类型。假设在一个数组中有一些数组元素的的类型还是数组 这个时候我们就将它称之为多维数组!
一维数组
简单来说,一个数组内所有的元素的数据类型的都不是数组类型,就是一维数组。
多维数组
超过一维都是可以叫多维,多维数组指的是一个数组中的元素又是一个数组。
如何访问二维数组的里面的数组元素呢?
格式:
数组变量名[一维数组的下标][二维数组的下标]
<script>
//在一个数组里面出现了数组 称之为多维数组
//想保存班上所有同学的个人信息 是否可以将它们放在一个变量里面
//在一个数组里面没有数组类型
var arr1 = ["刘德华",18,"男"];
var arr2 = ["张学友",18,"男"];
var arr3 = ["林志玲",43,"女"];
//多维数组 在一个数组里面嵌套数组
var moreArr = [
["刘德华",18,"男"], //0
["张学友",18,"男"], // 1
["林志玲",43,"女"] //2
];
//在打印数组 最好使用console.log来打印
console.log(moreArr);
console.log(moreArr[0][0]);
console.log(moreArr[2][0])
</script>