JS中的Array是一个宝贝,不仅是一个数组,还是一个Dictionary,还是一个Stack。
-
var pinyins = new Array();
-
pinyins["人"] = "ren";
-
pinyins["口"] = "kou";
-
pinyins["手"] = "shou";
-
alert(pinyins["人"]);
-
alert(pinyins.人);
像Hashtable、Dictionary那样用,而且像它们一样效率高。
JS中,Array:动态数组、特殊的字典,可以当做字典来用。索引就是key。
JS中,只要有了Array你就同时拥有了数组、List、Hashtable 。
-
var arr = new Array();
-
arr[0] = "tom";
-
arr[1] = "jim";
-
for (var i in arr) {//打印出来的是0、1、2……证明了数组用法是Dictionary用法的一个特例而已。
-
alert(i+arr[i]);
-
}
-
//字典
-
var dic = new Array();
-
dic["zs"] = "张三";
-
dic["ls"] = "李四";
-
dic["ww"] = "王五";
-
//这中用法是错误的,在这里没法用
-
for (var i = 0; i < dic.length; i++) {
-
alert(dic[i]);
-
}
-
//这样写是OK的
-
alert(dic["zs"]);
-
alert(dic.zs);
-
for (var d in dic) { //在JavaScript中没有foreach,但是可以把for当foreach来用,遍历。
-
alert(d);
-
alert(dic[d]);
-
}
-
var arr = ["tom", "jim", "lily"];
-
alert(arr); //隐式调用了JavaScript的内置函数join,所以这行和下面这一行这两种写法是一样的。
-
alert(arr.join(",")); //效果跟上一行一样。