【问题标题】:JavaScript date object in a nested array become "Invalid Date"嵌套数组中的 JavaScript 日期对象变为“无效日期”
【发布时间】:2014-01-03 06:46:43
【问题描述】:

以下内容:

var pointDate = new Date(2009, 00, 01);
var pointSingle = [pointDate,1000];
var pointDataset = [pointSingle];
console.log(pointDate);
console.log(pointSingle);
console.log(pointDataset);

显示这个:

Thu Jan 01 2009 00:00:00 GMT-0800 (Pacific Standard Time)
[Thu Jan 01 2009 00:00:00 GMT-0800 (Pacific Standard Time), 1000]
[Array[2]]
0: Array[2]
0: Invalid Date
1: 1000
length: 2

有谁知道为什么日期对象在进入嵌套数组后变成无效日期?

谢谢

更新 1:我在一个新的 HTML 文件中测试了相同的代码 sn-p,但问题没有出现。不知道为什么……

【问题讨论】:

标签: javascript arrays date


【解决方案1】:

在 chrome 上正常工作。这是代码:

var pointDate = new Date(2009, 00, 01);
var pointSingle = [pointDate,1000];
var pointDataset = [pointSingle];
console.log(pointDate);
console.log(pointSingle);
console.log(pointDataset);
// added to debug - but before this also the values were valid ones.
console.log(pointDataset[0]);

添加

似乎嵌套数组被视为对象,而不是数组。不知何故,它还没有正确理解这种行为。

【讨论】:

  • 我也在使用 Chrome。我编辑了我的代码以包含 console.log(pointDataset[0]);它正确显示日期对象,就像您的代码一样。问题仍然存在。
  • 其他人建议this。即使数据包含,由于 proto 已被弃用,它说 Invalid Date... 此外,还有类似 date(NAN)... 的很好的解释
猜你喜欢
  • 1970-01-01
  • 2017-12-30
  • 2012-03-06
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 2013-12-03
相关资源
最近更新 更多