遍历数组时,为什么有时候...

为何

for(var i in Array){}

for(var i=0;i<Array.length;i++){}

两种写法得到的结果有时会不一样???

qq_杀意隆_0
浏览 2081回答 3
3回答

__innocence

因为数组也是对象,所以第一种情况,除了得到数组的元素,也有可能得到数组的属性

橋本奈奈未

补充下_innocence的答案,for...in遍历对象的可枚举属性,因为数组也是对象,所以你可以var arr = [];arr.x=1;这么写是可以的,但是for循环遍历的是数组的索引属性。大概就是酱

SKY子不语

索引数组(下标为数字)遍历用两种方法是一样的关联数组(hash数组)遍历只能用方法1,因为关联数组的length是0查找: 索引数组                       hash数组         遍历                              不用遍历    受存储位置影响            和存储位置无关    受数组元素个数影响    和数组中元素个数无关  总结: 今后只要希望快速查找元素时,就用hash数组
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript