javascript数组
2019-12-08 本文已影响0人
ssttIsme
javascript数组
数组是一个可以存储一组
或者一系列相关
数据的容器
。
数组是一种存储结构。
一、使用数组的意义
(1)为了解决大量相关数据的存储和使用的问题。
(2)模拟真实的世界。
二、创建数组
(1)通过对象的方式来创建。
var a=new Array();
赋值方式
A.直接赋值
var a=new Array(元素1,元素2,元素3,...元素n);
var a=new Array(数值);
new Array()``的
()```中如果只有一个元素,并且这个元素是数值类型的,那么它就是指定数组的长度,并且它的值都是undefined
var arr=new Array(1,2,3,4,5,6);
document.write(arr); // 输出 1,2,3,4,5,6
B.声明以后再赋值
var a=new Array();
a[0]=1;
a[1]=2;
document.write(a); // 输出 1,2
(2)隐形声明的方式
var a=[];
赋值方式
A.直接赋值
var arr=[1,2,3,4];
document.write(arr); //输出 1,2,3,4
B.声明以后再赋值
var arr=[];
arr[0]=1;
arr[1]=2;
document.write(arr); //输出 1,2
数组的属性:length
var arr=new Array(3);
document.write(arr.length); //输出 3
var arr2=new Array(1,2);
document.write(arr2.length); //输出 2
javascript数组可以存储任何类型的值
var arr=[1,"javascript",true,[1,2]];
document.write(arr); //输出 1,javascript,true,1,2
三、访问数组的元素
通过数组[下标]
访问。
var arr=new Array(1,2,3,4,5,6);
document.write(arr[0]);
document.write("<br/>");
document.write(arr[5]);
document.write("<br/>");
document.write(arr[arr.length-1]);
输出
1
6
6
四、遍历数组的元素
A.for循环
var arr=[1,2,3,"hello","ssttIsme",true];
for (var i=0;i<arr.length;i++){
document.write(arr[i]+" ");
}
输出
1 2 3 hello ssttIsme true
B.while循环
var arr=[1,2,3,"hello","ssttIsme",true];
var i=0;
while (i<arr.length){
document.write(arr[i]+" ");
i++;
}
输出
1 2 3 hello ssttIsme true
C.for in
它有两个作用:1、用于数组的遍历。2、用于对象属性的遍历
var arr=[1,2,3,"hello","ssttIsme",true];
for (var i in arr){
document.write(arr[i]+" ");
}
输出
1 2 3 hello ssttIsme true
五、数组的分类
1.下标的类型
A.下标是数字类型的(索引数组)
var arr=[1,2,3];
var arr1=[];
arr1[1]=1;
B.下标是字符串类型的(关联数组)-只是用对象来模拟的
var arr=[];
arr["name"]="Amy";
document.write(arr["name"]);
document.write(" ");
document.write(arr.name);
输出 Amy Amy
2.维度来分类
A.一维数组
var arr=[1,2,3];
B.二维数组-只是用对象来模拟的
不可以用arr[1][1]
这样来声明二维数组。
只能像这样arr[1]=[]
这样来声明
var arr=new Array([1,2,3,4],['Dom'],['Peter']);
document.write(arr);
document.write(" ");
document.write(arr[1]);
document.write(" ");
document.write(arr[0][2]);
输出 1,2,3,4,Dom,Peter Dom 3
var arr=[[1,3,9],[2,4,6]];
document.write(arr[1][1]);
输出 4
var arr=[1,"apple",{"name":"pear"}];
document.write(arr[2]["name"]);
document.write(" ");
document.write(arr[2].name);
输出 pear pear
注意点:
1.可以存储任何类型的数据
2.只支持一维数组
3.长度可变
4.如果是索引数组,下标始终从0开始,如果指定了长度但是没有赋值,它的值会自动地赋值为undefined
var arr=[1,2,3];
document.write(arr.length);
document.write(" ");
arr[3]=4;
document.write(arr.length);
输出 3 4
var arr=new Array(3);
document.write(arr.length);
document.write(" ");
arr[5]=5;
document.write(arr.length);
输出 3 7
var arr=[];
arr[1]=2;
document.write(arr[0]);
输出 undefined
var arr=new Array(3);
document.write(arr[0]);
输出 undefined
矩阵翻转
1111 1234
2222 -> 1234
3333 1234
4444 1234
var arr=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]];
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
document.write(arr[i][j]);
}
document.write("<br/>");
}
document.write("翻转后<br/>");
for (var i=0;i<arr[0].length;i++){
for(var j=0;j<arr.length;j++){
document.write(arr[j][i]);
}
document.write("<br/>");
}
输出
1111
2222
3333
4444
翻转后
1234
1234
1234
1234