MissHoya
2015-03-25 14:35
如题,为什么99 in arr1可以返回true,而98 in arr1 返回的事flase
这就是稀疏数组啊,例如:
var arr = [];
arr[99] = 1;
99 in arr; // true
98 in arr; // false
虽然通过arr[99]使得数组长度变为100,但JavaScript并不会自动创建从0 ~ 98的其它Key。
这就是稀疏数组。
var arr=[1];
arr[99]=100;
for(var i=0;i<arr.length;i++){
document.write(arr[i]);
}
输出结果:1 undefine。。。100;
中间虽然没赋值,但系统默认都是undefine,所以说数组索引下的98下没有值,返回false
因为下标为99的位置有值,而下标为98的位置没有值!
ewfesgsrdgdrtt
asdfsdrgdsrg
JavaScript深入浅出
281111 学习 · 1020 问题
相似问题