javascript - 为什么javascript数组接受字符串值索引

标签 javascript node.js

为什么 Javascript 数组接受字符串作为索引,并且当它接受任何字符串值作为索引时,为什么它不改变其长度?

我是 Javascript 新手,遇到了这个问题。

var newArr = [];
newArr[0] = 0;
newArr[1] = 1;
newArr["2"] = 3;
newArr[3] = 3;
newArr[4] = 4;
newArr["a"] = "a";
console.log(newArr);

(5) [0, 1, 3, 3, 4, a: "a"]
length: 5
__proto__: Array(0)

最佳答案

因为

typeof Array() === 'object'

因此,可以像在任何普通对象上一样向数组添加新属性,这不会更改数组长度,因为它与实际向数组添加(推送)元素不同。

Ref

关于javascript - 为什么javascript数组接受字符串值索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56325433/

相关文章:

JavaScript 应用

javascript - 使用 EaselJS 库在 Firefox 中移动缓慢

javascript - 为什么我在运行 mysql 查询时在 Node JS 中收到 'Converting circular structure to JSON' 错误?

javascript - 从 C++ 填充 Node v8 Float32Array

使用 Express 时未加载 Javascript(Angular)

javascript - 狡猾的 slider 初始化

node.js - 通过NodeJS获取Docker主机IP

javascript - 如何确定 node.js 中的复制过程何时完成?

node.js - 谷歌云存储 + Nodejs : How to delete a folder and all its content

javascript - ReactJS 中相邻元素之间如何通信?