nodejs返回意外的奇怪的输出

console.log(a,b) 

以下是我上面的代码的输出

在这里输入图像说明

当我运行这个

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

但是当我做console.log(c)时我得到了空白console.log(c)

这很奇怪,我做了一个小提琴我的逻辑是好的: http : //jsfiddle.net/8m97zk8d/

c被声明为数组,数组不应该有string作为键,而是使用object。 声明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> 

您已经创build了一个数组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);