Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 难以在对象数组中显示键_Javascript_Php_Arrays_Multidimensional Array - Fatal编程技术网

Javascript 难以在对象数组中显示键

Javascript 难以在对象数组中显示键,javascript,php,arrays,multidimensional-array,Javascript,Php,Arrays,Multidimensional Array,我想在控制台上打印环绕图,但我有一个hrd时间访问它。因此,如果我想访问带有“good”注释的“Vignesh”,并假设结果引用树的根,我的代码将是 console.log(result["Vignesh"]["comments"][0]["A"]); 如何访问注释的键?“A”、“B”和“C”?因为我会把它放在一个for循环中,这样它就会显示他/她的所有评论 for(var key in result){ //key returns Gokul, Kavin etc for

我想在控制台上打印环绕图,但我有一个hrd时间访问它。因此,如果我想访问带有“good”注释的“Vignesh”,并假设结果引用树的根,我的代码将是

 console.log(result["Vignesh"]["comments"][0]["A"]);
如何访问注释的键?“A”、“B”和“C”?因为我会把它放在一个for循环中,这样它就会显示他/她的所有评论

 for(var key in result){ //key returns Gokul, Kavin etc
        for(var key2 in result[key].comments){    //key2 returns exm 0 1 2 in comments
           console.log(result[key]["comments"][key2]["A"].....);
        }
   }
显示姓名(“Gokul”、“kavin”等)及其所有注释的初始代码

 for(var key in result){ //key returns Gokul, Kavin etc
        for(var key2 in result[key].comments){    //key2 returns exm 0 1 2 in comments
           console.log(result[key]["comments"][key2]["A"].....);
        }
   }
这将有助于:

for(var key in result){ //key returns Gokul, Kavin etc
    for(var key2 in result[key].comments){    //key2 returns exm 0 1 2 in comments
       var comment = result[key]["comments"][key2];
       console.log(comment[Object.keys(comments)[0]]);
    }
}
顺便说一句,为了便于阅读,最好尽可能使用点符号而不是方括号。所以
result[key].comments
而不是
result[key][“comments”]
这样做:

result["Vignesh"]["comments"][0].forEach(function(value,key){console.log('Comment '+key+': '+value+'; ')});

获取对象属性名的关键是使用。如果您可以控制后端,我建议将注释结构重新设计为更可读的格式,如
注释:[{name:'a',text:'good'}]
。话虽如此,以下是您如何使用当前数据模型获取所需信息的方法:

var结果={
维涅什:{
平均值:2.33,
评论:[
{A:“好”},
{B:“坏”},
{B:“太好了”},
]    
}
}
for(结果中的var topLevelUser){
if(result.hasOwnProperty(topLevelUser)&&result[topLevelUser].comments){
console.log(topLevelUser);
var comments=结果[topLevelUser]。注释;
comments.forEach(函数(comment){
var subUser=Object.keys(注释)[0];
var text=注释[子用户];
console.log(子用户“=>”,文本)
});    
}

}
为什么要标记php?请不要将代码作为图像发布。它会给我未定义的注释修改部分内容,它会工作,给我所有注释。但我想显示A B C,这是关键?我该怎么做呢?因为B C只是一个样本数据,但包含正确的数据,该数据将替换为审查人员的姓名,我将显示它。我的日子不好过:(
Object.keys(comments)[0]
将显示a/B/C键,
comments[Object.keys(comments)[0]]
用于值shii,为什么它给我foreach不是函数?
foreach
仅在数组中的对象中不可用。