2014-03-29 251 views
0

如何将数组映射到javascript对象中的特定键?将数组映射到javascript中的对象中的键

assignment = {}; 
assignment.tab = 'assign'; 
assignment.yrq = 'B343'; 
assignment.items = [1234,4567]; 

显示的项目工程:

alert(assignment.items); //displays 1234, 4567 

但是,当我试图通过项目迭代,我得到的索引号:

for (item in assignment.items) { 
    alert(item); //displays 0, then 1 
} 

回答

2

for循环的一个数组,你应该使用常规的for循环,而不是for-in,它通常用于对象,而不是阵列

for (var i=0; i<assignment.items.length; i++) { 
    alert(assignment.items[i]); 
} 
0

只要改变你的循环使用它作为索引

for (itemIndex in assignment.items) { 
    alert(assignment.items[itemIndex]); 
} 
+1

你不应该用'用于遍历一个_Array_因为非指数也可以迭代。 –

+0

呼叫良好。以防万一被添加到数组原型中,您不应该对数组使用'for..in'。 –

0

只需使用for循环

assignment = {}; 
assignment.tab = 'assign'; 
assignment.yrq = 'B343'; 
assignment.items = [1234,4567]; 

for(var i = 0; i < assignment.items.length; i++){ 
    alert(assignment.items[i]); 
} 
0

尝试

for (item in assignment.items) { 
    alert(assignment.items[item]); //displays 1234, then 4567 
} 
相关问题