【问题标题】:Uncaught TypeError: Cannot read property 'split' of undefined未捕获的类型错误:无法读取未定义的属性“拆分”
【发布时间】:2014-06-13 17:03:12
【问题描述】:

使用 JavaScript 拆分日期并重新排列格式。

日期通过 json 提要提供为 YYYY-MM-DD。

要获取日期,我会这样做:

var og_date = (v.report[totalItems -1].inspection_date);
console.log(og_date);

控制台日志正确显示日期,即“2012-10-01”。

接下来,我尝试拆分日期,例如:

console.log(og_date.value.split('-'));

我得到:

Uncaught TypeError: Cannot read property 'split' of undefined 

有什么想法吗?

【问题讨论】:

  • 字符串没有 value 属性。

标签: javascript date split


【解决方案1】:

你的问题自己回答了;)如果og_date 包含日期,它可能是一个字符串,所以og_date.value 是未定义的。

只需使用og_date.split('-') 而不是og_date.value.split('-')

【讨论】:

  • 噢噢噢!!哈哈哈 - 好吧,我在想我需要得到变量的值。 :) 谢谢!
  • 如果我需要从整个对象中拆分一个值?
【解决方案2】:

ogdate 本身就是一个字符串,为什么要访问它没有的 value 属性?

console.log(og_date.split('-'));

JSFiddle

【讨论】:

    【解决方案3】:
    og_date = "2012-10-01";
    console.log(og_date); // => "2012-10-01"
    
    console.log(og_date.split('-')); // => [ '2012', '10', '01' ]
    

    og_date.value 仅在日期作为 property 存储在 og_date 对象上时才有效。 如:var og_date = {}; og_date.value="2012-10-01"; 在这种情况下,您原来的 console.log 就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2016-08-08
      • 2015-01-06
      • 2017-07-26
      • 2019-02-26
      相关资源
      最近更新 更多