javascript数组是关联数组(关联数组实质是对象)。普通数组可以通过下标来访问数组元素,而关联数组可以通过关键字来存取相应的数组元素。
一、创建数组的三种方式
1: 创建使用下标的数组
var arr=[];
创建一个空数组
var arr=["a","b","c"];
创建包含3个元素的数组,下标从0到2
2: 创建使用关键字的数组
var arr={"a":1, 2:2, 1.5:3};
创建包含3个元素的数组, 下标分别为"a",2, 1.5, 元素分别为1,2,3
3:通过构造函数创建使用下标的数组
var arr=new Array(3);
创建长度为3的数组
var arr=new Array("a","b","c");
创建包含3个元素的数组,下标分别为0,1,2
以下是错误的创建数组的方法
var arr={1,2,3};
var arr=[1:1, 2:2, 3:3];
二、增加/设置数组元素
arr[3]=10; //增加或设置数组元素,下标为3,数值是10
arr.push("a"); //在数组末尾增加一个元素"a", 下标为原来数组的最大下标+1
三、删除数组元素
arr.pop(); //返回数组的最后一个元素,并删除它
arr.splice(0,1);//从第0个元素开始,删除后面的1个元素
四、获得数组长度
通过arr.length属性可以获得数组长度,但这个属性不总是可用。
javascript数组是关联数组(关联数组实质是对象)。数组元素的存储分两种方式:以普通数组方式存储,以属性方式存储。
1、用以下方式创建的数组,初始元素都将以普通数组方式存储,数组长度为3
var arr=["a","b","c"];
var arr=new Array("a","b","c");
var arr=new Array(3);
2、用以下方式创建的数组,将不会改变arr.length, 元素以属性方式存储
var arr={"a":1, 2:2, 1.5:3};
我们可以用以下方式去获得元素的数值,结果是一样的
var x=arr["a"];//获得arr数组的a元素
var x=arr.a; //获得arr数组的a属性
3、用以下方式增加数组元素,将改变数组长度arr.length
arr[3]=0;
arr.push(0);
4、用以下方式增加数组元素,将不改变数组的长度
arr["a"]=3;
5、var arr=[12,23,5,3,25,98,76,54,56,76];//定义了一个包含10个数字的数组
alert(arr.length);// 显示10
arr[15]=34;
alert(arr.length);//显示16
代码中同样是先定义了一个包含10个数字的数组,通过alert语句可以看出其长度为10。随后使用了索引为15的元素,将其赋值为34,即arr[15]=34,这时再用alert语句输出数组的长度,得到的是16。无论如何,对于习惯于强类型编程的开发人员来说,这是一个很令人惊讶的特性。事实上,使用newArray()形式创建的数组,其初始长度就是为0,正是对其中未定义元素的操作,才使数组的长度发生变化。
分析以下代码
《script》
var arr=new Array(3);
arr[0]=1;
arr[1]=2;
arr[200]=3;
arr["a"]="a";
alert(arr.pop());
《script》
请问这段代码执行完毕后,数组长度是多少?alert弹出提示将是什么数值?
answer:3