什么是数组
数组是值的有序集合。数组中的每个值叫一个元素,每个元素在数组中都有一个唯一的位置。这个位置用数字表示叫索引数组;用字符串表示叫关联数组。
数组的元素可以是不同的类型
可以动态的向数组差人新元素,或者删除指定元素
一维数组
定义数组
定义数组的方式有三种
/*数组字面量方式定义数组*/
var arr1 = []//空数组
var arr2 = [2,'',true] //数组内元素可以是不同的类型
console.log(arr2)
var arr3 = [3]//数组元素为3
console.log(arr3)
/*数组函数方式定义数组*/
var arr4 = Array()//空数组
var arr5 = Array(3)//当只有一个元素且为数字时,表示数组的长度
/*构造函数方式定义数组*/
var arr6 = new Array()//空数组
var arr7 = Array(3)//当只有一个元素且为数字时,表示数组的长度
索引数组
/*
*索引数组-数组中元素的位置用数字表示,称之为下标或角标
*下标是从0开始
*数组的长度与元素的个数一致 */
var arr = [];//定义一个空的数组
arr[0] ='化物语';
arr[1] ='伪物语';
arr[2] ='猫物语';
console.log(arr.length);//判断数组的长度
关联数组
/*
* 关联数组中的元素是用字符串表示
* */
var arr = [];
arr['name'] ='西尾维新';
arr['job'] ='作家';
//输出结果
/* [ name: '西尾维新', job: '作家' ]*/
/*关联数组的长度与元素的个数不一致
* 原因:官方不支持关联数组*/
console.log(arr.length);//输出为0
稀疏数组
/*当索引数组的位置不连续,没有定义元素的位置为(undefined)
* 稀疏数组:数组长度与元素数目不一致的索引数组*/
var arr = [];
arr[0] ='化物语';
arr[2] ='伪物语';
arr[5] ='猫物语';
console.log(arr);
/*输出结果
* [ '化物语', <1 empty item>, '伪物语', <2 empty items>, '猫物语' ]
*/
//* empty item等价于undefined
数组元素的读取
var arr = ['化物语',23,true];
/*调用数组名称,得到的是元素数据集合-[ '化物语', 23, true ]*/
console.log(arr);
/*调用元素->数组名称[索引值] -化物语*/
console.log(arr[0]);
/*调用没有定义位置的元素,结果为undefined*/
console.log(arr[4]);
数组元素的修改
/*定义索引数组*/
var arr1 = [];
arr1 [0] ='化物语';
arr1 [1] ='23';
/*定义关联数组*/
var arr2 = [];
arr2 ['name'] = '伤物语';
arr2 ['age'] = '233';
//通过数组索引值找到对应元素的位置,重新赋值
arr1[0] = '伪物语';
console.log(arr1[0]);//伪物语
arr2['name'] = '猫物语';
console.log(arr2['name']);//猫物语
/*对于数组中没有的索引值,就是重新增添一个元素*/
arr1[3] = '浮生六记';
console.log(arr1[3]);//浮生六记
数组元素的删除
/*delete运算符用来删除数组的元素
* 对于索引数组被删除的元素只是删除数据内容,位置会被保留
* 索引数组变为稀疏数组
*/
var arr = [];
arr[0] = '化物语';
arr[1] = '国风';
delete arr[0];
console.log(arr[0]);//undefined
循环遍历数组元素
var arr = ['化物语','23','true'];
//for语句-最常用
for (var i=0 ; i<arr.length;i++){
console.log(arr[i])
}
//whil语句
/*
var i = 0 ;
while (i<aee.length){
console.log(arr[i]);
i++
}*/
//do...whi语句
/*
var i = 0;
do {
console.log(arr[i]);
i++
}while (i<arr.length);*/
var arr = ['化物语','23','true'];
/*//
* for(变量 in 数组名称){
* 语句}
* */
for(var i in arr){
console.log(arr[i])
}
二维数组
二维数组就是数组作为元素被包含在另一个数组中
var arr = [];
arr[0] = ['风','雅'];
arr[1] = ['童年','在人间'];
/*
console.log(arr)//[ [ '风', '雅', ], [ '童年', '在人间' ] ]*/
//访问二维数组中的元素
//console.log(arr[0][0])//风
/*
var result = arr[0]
console.log(result[1])//雅
*/
//循环遍历二维数组
for(var i=0 ;i<arr.length;i++){
console.log(arr[i]);
for(var n=0;n<arr.length;n++){
console.log(arr[i][n])
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。