谁能解释为什么第二个警报说 0 ?
var pollData = new Array();
pollData['pollType'] = 2;
alert(pollData['pollType']); // This prints 2
alert(pollData.length); // This prints 0 ??
最佳答案
仅当您添加数字索引时,数组的长度才会更改。例如,
pollData["randomString"] = 23;
对长度没有影响,但
var pollData = [];
pollData["45"] = "Hello";
pollData.length; // 46
将长度更改为 46。请注意,键是数字还是字符串并不重要,只要它是数字整数即可。
此外,您不应该以这种方式使用数组。考虑更多的是副作用,因为数组也是对象,在 JavaScript 中,任何对象都可以将任意键作为字符串保存。
关于JavaScript 数组长度方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5334158/