2015-10-22 60 views

回答

2

c被聲明爲數組和數組應該沒有字符串作爲鍵,而是使用對象。聲明c作爲對象。

Updated Fiddle

var a = ['Child', 'Adult']; 
 
var b = [2, 6]; 
 
var c = {}; // Declare as empty Object 
 

 
for (var i = 0; i < a.length; i++) { 
 
    c[a[i]] = b[i]; 
 
} 
 

 
console.log(c); 
 
document.getElementById('result').innerHTML = JSON.stringify(c, 0, 4);
<pre id="result"></pre>

+0

'Array'仍然是一個'Object' ,所以它可以具有字符串作爲其屬性的關鍵字,它只是不會計入長度。 – fuyushimoya

+0

@fuyushimoya對,在這種情況下,OP想要_object_。 _array_不應該被分配字符串鍵用作_object_。 – Tushar

+0

是的,我知道,因爲我已經upvoted這個答案,只是可以更清楚地說,'數組不能有字符串作爲索引'。 – fuyushimoya

0

您已經創建了一個數組c和分配屬性它。看看那些屬性可登錄:

console.log(c.Child); 
console.log(c.Adult); 

如果你想訪問他們在傳統的方式,然後重新定義c作爲一個對象:

var a = [ 'Child' , 'Adult']; 
var b = [2,6]; 
var c = {}; 

for(var i=0; i<a.length; i++){ 
       c[a[i]] = b[i] 
      } 
console.log(c); 
+0

爲什麼我使用數組它在這裏工作? http://jsfiddle.net/8m97zk8d/ –