在JavaScript中,您可以通过多种方式将变量或对象放入数组中:

array.push(item)
array[2] = item;
array[somevariable] = item

上一个例子的后一个困扰我

例如说我有以下变量var somevariable = 'someString';
如果您愿意,我可以将它作为索引(或键)放入array中。

这种现象主要在Map接口(interface)中看到,表明JavaScript中的数组不是List类型。

另一个需要注意的是,JavaScript中的Array object也具有pop方法,该方法可以在Queue接口(interface)中看到。

所以我的问题是Array中的JavaScript是什么数据类型?

最佳答案

数组只是具有某些特殊方法和行为的对象。

作为对象,您可以在其中存储属性。键必须是字符串(或ES6中的符号),并且值可以是任何值。

但是,数组方法仅考虑名称为数组索引的属性。



建议仅在数组中使用数组索引。如果需要其他属性,则将无法使用数组方法。但是最好使用普通对象。或者也许是一个ES6映射,其键和值可以是任何值。

规范没有说明如何实现数组。万一只有数组索引,大多数实现都使用某种列表,但是如果添加其他属性,则切换为哈希。

09-30 16:31
查看更多