【问题标题】:Unusual array with key value NaN property, containing more arrays? [closed]具有键值 NaN 属性的异常数组,包含更多数组? [关闭]
【发布时间】:2019-06-25 00:36:24
【问题描述】:

我有一个长度为 0 的不寻常的 Javascript 数组,但是如果我展开该数组,我可以看到它包含多个具有相同属性的嵌套数组,最终是一个包含一个对象的数组。我以前从未见过这种类型的数组/对象。

这是一个 sudo 代码版本(据我所知):

[NaN: [{foo:'barr'}]]

但是像这样构造一个对象会导致错误。谁能解释一下它是什么?

这是在 Chrome 中登录控制台的屏幕截图:

并在 Firefox 中登录控制台:

【问题讨论】:

  • Nina Scholz 完美回答。

标签: javascript arrays types


【解决方案1】:

看起来,你有'NaN'作为键,这是可能的(数组是对象),因为你可能已经计算了索引,这会出错。

var array = [];

array['x' * 3] = 'value'; // index/key is NaN
console.log(array);
console.log(array.NaN);

【讨论】:

  • 哦,我明白了,这很有趣,我以前从未见过这样做过。谢谢!
  • 只是出于兴趣,为什么如果我将[NaN: [{foo:'bar'}]] 放入我的控制台,它会显示:uncaught SyntaxError: Unexpected token :。这是一个有效的对象,所以它应该只打印它并让我与之交互
猜你喜欢
  • 2017-07-07
  • 2020-09-23
  • 1970-01-01
  • 2013-01-05
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
相关资源
最近更新 更多