nodejs返回意外的奇怪输出

时间:2015-10-22 10:37:30

标签: javascript node.js

console.log(a,b)

以下是我上面代码的输出

enter image description here

当我运行时

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

但是当我console.log(c)

时,我得到了BLANK

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

2 个答案:

答案 0 :(得分:2)

c被声明为数组,而数组应该没有字符串作为键,而是使用对象。将c声明为对象。

Updated Fiddle

&#13;
&#13;
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);
&#13;
<pre id="result"></pre>
&#13;
&#13;
&#13;

答案 1 :(得分: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);