访问Javascript对象的属性失败

访问Javascript对象的属性失败,javascript,Javascript,我有一个JS函数,它需要对象作为参数。我想得到对象的属性和值。下面是我的程序中JS对象的列表: var a =[{'Jan':1555},{'Feb':456},{'Mar':987},{'Apr':768}]; 正如预期的那样,您可以在此处获得可用于循环的属性和值,如下所示: for(var i=0;i<a.length;i++){ for(var j in a[i]){ console.log(j); // Here it returns the propert

我有一个JS函数,它需要对象作为参数。我想得到对象的属性和值。下面是我的程序中JS对象的列表:

var a =[{'Jan':1555},{'Feb':456},{'Mar':987},{'Apr':768}];
正如预期的那样,您可以在此处获得可用于循环的属性和值,如下所示:

for(var i=0;i<a.length;i++){
for(var j in a[i]){
    console.log(j);        // Here it returns the property correctly
    console.log(a[i].j);  //Returns Error here ie returns undefined
     }
}

for(var i=0;i您必须通过
console.log(a[i][j])访问它;

使用
a[i].j
访问它就像使用
a[i][“j”]
访问它一样,这不是您想要的。此外,无论何时使用
for···································

请改用此代码

for(var i=0;i<a.length;i++){
    for(var j in a[i]){
        if(a[i].hasOwnProperty(j){
            console.log(j);        // Here it returns the property correctly
            console.log(a[i][j]);  
        }
     }
}

for(var i=0;i
.j
属性不存在,您应该这样做:

for(var i=0;i<a.length;i++){
    for(var j in a[i]){
        console.log(j);        // Here it returns the property correctly
        console.log(a[i][j]);  //Now works
     }
}

for(var i=0;ithanks用于获取信息。我检查了该属性是否可以使用访问。我在此处应用了该属性。感谢您的澄清。
for(var i=0; i < a.length; i++){
    var item = a[i];
    for(var month in item){
        console.log("month: ", month);        
        console.log("value: ", item[month]);
     }
}