下面,您可以看到这两个日志的输出。第一行代码清楚地显示了我试图访问的属性的完整对象,但在下一行代码中,我无法使用配置访问它。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);
这就是这些行在控制台中打印的内容
当前回答
以防这对某人有帮助,我有一个类似的问题,这是因为有人在我正在使用的对象中创建了. tojson的覆盖。所以对象是这样的:
{
foo: {
bar: "Hello"
baz: "World"
}
}
但是.toJSON()是:
toJSON() {
return this.foo
}
所以当我调用JSON.stringify(myObject)它返回"{"bar": "Hello", "baz": "World"}"。然而,Object.keys(myObject)显示了“foo”。
其他回答
您试图访问的属性可能还不存在。Console.log可以工作,因为它在一小段延迟后执行,但其余代码并非如此。试试这个:
var a = config.col_id_3; //undefined
setTimeout(function()
{
var a = config.col_id_3; //voila!
}, 100);
没有一个JSON stringify/parse对我有用。
formValues.myKey: undefined
formValues.myKey with timeout: content
我想要formValues的值。myKey是什么技巧是setTimeout 0,就像下面的例子。希望能有所帮助。
console.log('formValues.myKey: ',formValues.myKey);
setTimeout( () => {
console.log('formValues.myKey with timeout: ', formValues.myKey);
}, 0 );
首先,像下面这样检查类型:
console.log(typeof config);
如果上面的命令打印object,那么很简单,你只需使用括号符号。如果您想动态搜索属性的值,括号符号可能非常有用。
执行以下命令:
console.log(config[col_id_3]);
如果它是一个字符串,你需要先在对象中解析。要做到这一点,你需要执行以下命令:
var object = JSON.parse(config);
然后使用括号来访问属性,如下所示:
console.log(object[col_id_3]);
如果你使用的是TYPESCRIPT和/或ANGULAR,它可能是这样的!
.then((res: any) => res.json())
设置响应类型为任何为我修复了这个问题,我无法访问响应上的属性,直到我设置res: any
属性“_body”在类型“Response”上不存在
如果这是在使用Mongoose时发生的问题,则可能会发生以下情况:
console.log(object)
返回所有内容,包括所需的键。
console.log(object.key)
返回未定义。
如果发生了这种情况,就意味着Mongoose Schema中缺少键。添加它将解决这个问题。