console.log(a,b)
下面是我上面的代碼的NodeJS返回意想不到的奇怪輸出
輸出當我運行此
for(var i=0; i<a.length; i++){
c[a[i]] = b[i];
}
但我得到BLANK當我做console.log(c)
這很奇怪,我做了一個小提琴,我的邏輯很好:http://jsfiddle.net/8m97zk8d/
console.log(a,b)
下面是我上面的代碼的NodeJS返回意想不到的奇怪輸出
輸出當我運行此
for(var i=0; i<a.length; i++){
c[a[i]] = b[i];
}
但我得到BLANK當我做console.log(c)
這很奇怪,我做了一個小提琴,我的邏輯很好:http://jsfiddle.net/8m97zk8d/
c
被聲明爲數組和數組應該沒有字符串作爲鍵,而是使用對象。聲明c
作爲對象。
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>
您已經創建了一個數組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);
爲什麼我使用數組它在這裏工作? http://jsfiddle.net/8m97zk8d/ –
'Array'仍然是一個'Object' ,所以它可以具有字符串作爲其屬性的關鍵字,它只是不會計入長度。 – fuyushimoya
@fuyushimoya對,在這種情況下,OP想要_object_。 _array_不應該被分配字符串鍵用作_object_。 – Tushar
是的,我知道,因爲我已經upvoted這個答案,只是可以更清楚地說,'數組不能有字符串作爲索引'。 – fuyushimoya