console.log(a,b)
以下是我上面代码的输出
当我运行时
for(var i=0; i<a.length; i++){
c[a[i]] = b[i];
}
但是当我console.log(c)
这很奇怪,我做了一个小提琴我的逻辑很好:http://jsfiddle.net/8m97zk8d/
答案 0 :(得分:2)
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);
&#13;
<pre id="result"></pre>
&#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);