下面,您可以看到这两个日志的输出。第一行代码清楚地显示了我试图访问的属性的完整对象,但在下一行代码中,我无法使用配置访问它。Col_id_3(见截图中的“undefined”?)有人能解释一下吗?我也可以访问除field_id_4之外的所有其他属性。
console.log(config);
console.log(config.col_id_3);
这就是这些行在控制台中打印的内容
下面,您可以看到这两个日志的输出。第一行代码清楚地显示了我试图访问的属性的完整对象,但在下一行代码中,我无法使用配置访问它。Col_id_3(见截图中的“undefined”?)有人能解释一下吗?我也可以访问除field_id_4之外的所有其他属性。
console.log(config);
console.log(config.col_id_3);
这就是这些行在控制台中打印的内容
当前回答
检查是否在控制台中应用了任何筛选器。它发生在我在chrome控制台。
其他回答
我今天在React中遇到了类似的问题。最终意识到问题是由尚未确定的状态引起的。我正在调用user.user.name,尽管它显示在控制台中,但我似乎无法在我的组件中访问它,直到我包含了一个检查来检查是否user.name。设置用户,然后调用User . User .name。
首先,像下面这样检查类型:
console.log(typeof config);
如果上面的命令打印object,那么很简单,你只需使用括号符号。如果您想动态搜索属性的值,括号符号可能非常有用。
执行以下命令:
console.log(config[col_id_3]);
如果它是一个字符串,你需要先在对象中解析。要做到这一点,你需要执行以下命令:
var object = JSON.parse(config);
然后使用括号来访问属性,如下所示:
console.log(object[col_id_3]);
console.log(anObject)的输出是误导性的;通过单击>展开控制台中显示的对象树,显示的对象的状态才会解析。当你console.log对象时,它不是对象的状态。
相反,尝试console.log(object .keys(config)),甚至console.log(JSON.stringify(config)),您将看到调用console.log时的键或对象的状态。
您将(通常)发现在console.log调用之后添加了键。
检查是否在控制台中应用了任何筛选器。它发生在我在chrome控制台。
我也遇到了同样的问题,但上面的解决方案对我来说都不奏效,之后我感觉就像是在猜测。但是,在setTimeout函数中包装创建对象的代码对我来说是有用的。
setTimeout(function() {
var myObj = xyz; //some code for creation of complex object like above
console.log(myObj); // this works
console.log(myObj.propertyName); // this works too
});