有一个老生常谈的问题:
var arr = [];
arr['1000'] = '123';
console.log(arr.length);
你可能立即找到答案 打印结果为1001;
为什么会出现这个结果呢?1,对于大多数浏览器,arr在逻辑上是顺序结构,元素的位置是不能’空‘的;2[]在解析过程中,自动把字符串转换成数字了
但是有时候我们不希望白白浪费这么多内存,怎么弄呢?
答案在下边哦:
var arr = {}//注意了声明的是对象而不是数组
arr[’1000'] = '123';
console.log(arr.length);
搞定!