如果是伪数组: var arr = Object.create( null ); arr.length = 0;
给伪数组添加成员, 可以使用 arr[ 0 ] = 1, 但是 length 不会自增
可以尝试以下方法:
var i = 0;
arr[ i++ ] = 1;
arr[ i++ ] = 2;
arr.length = i;
好处是: i 可以描述最后一个元素追加的元素应该是多少索引, 同时加完以后 表示数组的新长度是多少.
实际上我个人早期在处理伪数组的时候, 追加使用的是 :
arr[ arr.length++ ] = 1;
技巧: 凡是看到 i++
在表达式上方写一个竖线. 将 i 的值放在竖线左边, 将 +1 值放在竖线右边
表达式的值取竖线左边的, 变量的值取竖线右边的.
例如:
var i = 0;
0|1 1|2 2|3
var res = i+++i+++i++;
// res = 0 + 1 + 2
// i = 3