数组
数组的概念
- 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式
- 数组是指一组数据的集合,其中的每个数据被称作元素(项)
- 在数组中可以存放任意类型的元素
- 在数组中可以存放任意类型的元素,但是我们一般会把一组相关的,并且数据类型相同的数据一起存放
- 数组是一种将一组数据存储在单个变量名下的优雅方式
- 数组的理解:数据组合,数据集合
创建数组
JS 中创建数组有两种方式:
- 利用 new 创建数组
var 数组名 = new Array() ;
var arr = new Array(); // 创建一个新的空数组
注意: Array () ,A 要大写
- 利用数组字面量创建数组
//1. 使用数组字面量方式创建空的数组
var 数组名 = [];
//2. 使用数组字面量方式创建带初始值的数组
var 数组名 = ['小白','小黑','大黄','瑞奇'];
- 数组的字面量是方括号 [ ]
- 声明数组并赋值称为数组的初始化。
- 数组里面的数据一定用逗号分隔。
- 数组里面的数据 ,我们称为数组元素
数组元素的类型
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等,也可以是数组。
var arrStus = ['小白',12,true,28.9];
var week = ["星期一","星期二",3]; //允许,但是一般不这么做
var week = ["星期一","星期二","星期三"]; //一般这么做
总结:
- 普通变量: 1:1 (一个变量名对应一个数据)
- 数组变量: 1:n (一个数组对应多个数据)
获取数组中的元素
索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)
- 数组可以通过索引来访问、设置、修改对应的数组元素
- 可以通过“数组名[索引]”的形式来获取数组中的元素
获取元素语法结构:数组名[索引号]
// 获取数组元素的格式: 数组名[索引号] 索引号从 0开始
// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]);
注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined
补充: 数组内部存储数据的形式:
var dogs = ['小白','小黑','大黄','rui奇'];
var dogs = [0:'小白',1:'小黑',2:'大黄',3:'rui奇'];
//(key:value ,键值对,索引键,数据值)
凡是,存储的数据结构为键值对,都是通过键操作值。(key:value ,键值对,索引键:数据值)
通过索引来操作数组的元素。
操作:
// 1. 获取:
var dog0 = dogs[0];
// 2. 新增/修改:
dogs[索引] = 值
遍历数组
遍历
数组遍历:把数组中的每个元素从头到尾都访问一次(类似学生的点名)
可以通过 for 循环索引遍历数组中的每一项
示例代码:
var arr = ['red','green', 'blue'];
//注意:i从0开始(只要是遍历数组,一般都是从0开始)
for(var i = 0; i < arr.length; i++){
console.log(arrStus[i]);
}
- 索引值 = length值 – 1
arr.length
获取数组的长度- for里的数组元素用
arr[i]
表示。arr[i]
索引:获取数组元素第i个数组元素 - i必须从0开始,因为索引号从0开始,输出时arr[i],i计数器当索引号使用
数组的长度
数组的长度:默认情况下表示数组中元素的个数
使用**数组名.length
**可以访问数组元素的数量(数组长度)
var arrStus = [1,2,3];
alert(arrStus.length); // 3
注意:
- 此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆
- 当数组里面的元素个数发生了变化,
length
属性跟着一起变化 - 数组的length属性可以被修改:
- 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素;
- 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除
遍历数组的固定写法 :
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
for (var i = 0; i