javascript(数组)
2009 年 3 月 4 日
var arr = new Array();
arr[‘test’] = “this is a test”;
这样可以给一个数组添一个值。但是访问下arr.length会发现其值为0.
而且arr.pop()返回值为undefined.直接alert(arr)为空。
在这种情况下不管有多少个关联值。arr.push(“hahah”);
arr[0]这个值就是hahah.此时arr.length=1.
这说明什么问题呢。
只有push 或arr[index] = “fdsa”的方式才会影响arr.length和 toString()方法的返回值。
以关联数据添加进来的数据只能通过arr[key]来访问,不能通过索引。
用delete时。delete arr[0]只能把该值变成undefined.实际上此时arr.length并没有改变.
要真正地删除数组的一个元素要用arr.splice(start,deleteCount,[item])方法 .
其返回值是删除掉的元素。
为什么会这样呢!我想key,value并不是数组专有的。还是Array作为一个对象有的能力。所有数组的操作是只针对索引的。其余的操作其实作为对象所共有的。