如果我尝试使用数字作为属性创建关联数组,它会自动插入其他具有空值的值。
我尝试传递一个字符串 (myArray['myProp']),当时数组长度为零。只有当我传递数字时才会发生这种情况,无论是字符串形式。
const myArray = [];
myArray[5] = 'My value'; // say index is 5 here
console.log(myArray.length);
我想知道这背后的逻辑是什么。
最佳答案
那是因为您要在数组中存储一个索引为 5 的值。
一个对象最有可能做到这一点?
const obj = {};
obj["5"] = "My value";
// { "5": "My value" }
或者 map ?
const myMap = new Map();
myMap.set(5, 'My value');
console.log(myMap.size;) // 1
关于javascript - 为什么在 javascript 数组中自动创建索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55645400/