数组

什么是数组?

数组是一组数据有序的集合。数组它是属于复合数据类型。它至少可以存储一个值(它可以存储很多很多值)。

例如我们生活中的仓库,可以存放很多我们需要的工具或物品

 

为什么要使用数组?

因为在我们工作中 有很多数据是有关联的 我们要表示的时候想把这些数据用一个”东西”来存储,这个时候就可以用到数组! 我们做开发的时候,需要将一个或多个数组进行存储的时候,可以考虑使用数组;

定义数组 创建数组

使用[]来定义数组

第一种方式:先定义一个空数组 再往这个空数组中添加数组元素

 

第二种方式:在定义数组时候直接添加数组元素

 

 

 

 

使用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>