黑马程序员技术交流社区
标题:
Array()??
[打印本页]
作者:
谢玲
时间:
2012-12-16 16:00
标题:
Array()??
程序一:
var arr=new Array();
arr[“你”]=”tom”;
arr[“我”]=”jack”;
arr[“他”]=”jerry”;
for(var k in arr){
alert(k;)
}
程序二:
var arr=new Array();
arr[0]=”tom”;
arr[1]=”jack”;
arr[2]=”jerry”;
for(var k in arr){
alert(k;)
}
为什么程序一输出结果为:tom、jack、jerry
但是程序二的输出结果为:0、1、2
作者:
汪书凯
时间:
2012-12-16 22:16
在Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary)。先举例看看数组的用法。
var a = new Array();a[0] = "Acer";a[1] = "Dell";for (var i in a) { alert(i);}
上面的代码创立了一个数组,每个元素都是一个字符串对象。然后对数组进行遍历。注意 i 的结果为 0 和 1,a[i] 的结果才为字符串。下面再看一下字典的用法。
var computer_price = new Array();computer_price["Acer"] = 500;computer_price["Dell"] = 600;alert(computer_price["Acer"]);
我们甚至可以同样象上面那样遍历这个数组(字典)
for (var i in computer_price) { alert(i + ": " + computer_price[i]);}
这里的 i 即为字典的每个键值。输出结果为:
Acer: 500
Dell: 600
另外 computer_price 是一个字典对象,而它的每个键值就是一个属性。也就是说 Acer 是 computer_price 的一个属性。我们可以这样使用它:
computer_price.Acer
在你的程序1中就是把Array声明为了字典了而第二个是正在的数组。不知道我说的你懂了没
作者:
吴伟
时间:
2012-12-16 23:24
js中的for-in循环不同于C#中的foreach循环,k只是代表了数组的下标,不代表元素,所以用的时候要使用arr[k]引用元素
作者:
张小平
时间:
2012-12-18 11:41
在JS中array是特殊的dictionary,在遍历array时候,如果使用for(int k in array)形式,则遍历到的是key值;要遍历到value值,则要使用for(int i=0;i<arr.length;i++)的形式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2