gpt4 book ai didi

javascript - 字符串作为数组的键

转载 作者:IT王子 更新时间:2023-10-29 03:10:02 24 4
gpt4 key购买 nike

当使用字符串作为数组的键时,console 显示没有这些声明值的数组,并且在按此值迭代时不显示键是字符串的地方? ,虽然我可以得到它们的值(value)。

>> var arr = [ 0, 1, 2, 3 ];
undefined

>> arr["something"] = "aught";
"aught"

>> arr
[0, 1, 2, 3]

>> arr["something"]
"aught"

>> for( var i = arr.length; i--; console.log( arr[ i ] ) );
3
2
1
0

我知道数组是在 JavaScript 引擎中实现了某种“枚举”接口(interface)的对象。

最有趣的是解释器没有抛出警告或错误,所以我花了一些时间搜索可能丢失数据的位置。

最佳答案

在 javascript 中有两种类型的数组:标准数组和关联数组

  • [ ] - 标准数组 - 仅基于 0 的整数索引
  • { } - 关联数组 - 键可以是任何字符串的 javascript 对象

所以当你定义:

var arr = [ 0, 1, 2, 3 ];

您正在定义一个标准数组,其中索引只能是整数。当您执行 arr["something"] 时,因为 something (您用作索引的内容)不是整数,您基本上是在为 arr 定义一个属性 对象(在 javascript 中一切都是对象)。但是您没有向标准数组添加元素。

关于javascript - 字符串作为数组的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8630471/

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