如何从此Javascript对象引用字段?

时间:2019-07-15 06:21:06

标签: javascript

我有一个带有console.log()命令打印输出的对象:

console.log("event in validation ", this.event_info);

这是打印输出:

event in validation  {"start_datetime":"Sun Jul 14 2019 18:20:00 GMT-0700 (PDT)","finish_datetime":"Mon Jul 15 2019 18:20:00 GMT-0700 (PDT)"}

this.event_info中有2个字段:start_datetimefinish_datetime。我需要引用finish_datetime的值并执行以下操作:

this.event_info["finish_datetime"];

let sd = "finish_datetime";
this.event_info[sd];

但是没有检索到任何内容(未定义或什么也没有)。然后我尝试打印出对象的键:

 Object.keys(this.event_info);

打印输出为:

 [ '0',
  '1',
  '2',
  '3',
  .
  .
  .
  99

然后我尝试了这些:

 this.event_info["1"];

和:

this.event_info[1];

什么也没有打印出来。在这里引用finish_datetime的值的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

长答案

console.log()是一个糟糕的调试工具。它不显示数据类型,而显示的是not always a correct representation of the state of your application at the time you call it

您应该使用浏览器的实际调试器或通过编辑器/ IDE连接的调试器。

简短回答

您的变量是JSON字符串,而不是对象。你想要

JSON.parse(this.event_info).finish_datetime