我需要在JavaScript中创建一个带有整数键的关联数组,如下所示;
a["10"] = "ten";
但是当我创建一个数组时,它将值放在数组的第 10
个索引中,并创建长度为11的数组。我希望它成为一个键值对。我知道可以使用对象来实现这一点,但我只需要一个数组。
a["10"] = "ten";
但是当我创建一个数组时,它将值放在数组的第 10
个索引中,并创建长度为11的数组。我希望它成为一个键值对。我知道可以使用对象来实现这一点,但我只需要一个数组。
JavaScript没有关联数组。在JavaScript中,唯一的方法是使用对象:
var a = {
'10': 'ten'
};
"10"
与使用10
是相同的,所以没有什么可以抵消我的吹毛求疵。) - user166390[0,1,,,4]
或者是未定义的。 - RobGToString(ToUint32(P))
等于P
,则该属性名P才是一个数组索引.. 具体来说,每次添加一个属性名为数组索引时,如果需要,长度属性将更改为该数组索引的数值加一..arr = []
,表达式arr["1"]
和arr[1]
引用同一个属性名称。由于P
(属性名称)是“1”,并且上面的length
为0,则对该属性的赋值将设置arr.length
为ToUint32(P)+1
,即2。length
属性,则使用“普通”对象而不是数组。但是,许多Array.prototype
函数可以与具有length
属性的任意对象一起使用(除了一些实现怪癖),并且可以创建一个对象,使其使用Array.prototype
作为自己的原型。