gpt4 book ai didi

Javascript:将键值对添加到数组

转载 作者:行者123 更新时间:2023-11-30 14:54:07 26 4
gpt4 key购买 nike

我注意到我可以将键值对添加到数组(不是对象,数组)。

var a = [];       // create the array
a[0] = "test"; // conventionally setting an index of 0 to a value
a["foo"] = "bar"; // this actually sets a "key" of the array to "bar"

如果我尝试获取 a.foo 或 `a["foo"] 的值,我只会获取“bar”。没有出现错误。

我知道Javascript Array其实是一个对象,但是有特殊的规则,但是这样不报错感觉很奇怪。

我使用的是最新版本的 Chrome。

是否有可以这样做的实际用例?围绕这一事实的常见做法是什么?

最佳答案

现在试试这个:

> Object.getOwnPropertyNames(a)
[ '0', 'length', 'foo' ]
> a.length
1

欢迎使用 JavaScript!这是一个如此美妙的地方......

是的,您可以在数组上创建命名属性。不,你可能不应该。它们不会被计算在 Array.length 中,大多数阅读您的代码的开发人员都会感到困惑,这不太可能导致积极的结果。

如果您需要命名属性,请使用(非数组)对象。

关于Javascript:将键值对添加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47622394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com