数组的遍历
知有
144
数组的遍历
通常我们使用for来对数组进行遍历。
for(var i=0;i<数组长度;i++){
语句块;
}
我们还可以使用for/in来对数组进行稀疏数组的遍历,循环每次将一个可枚举的属性名(包括数组索引)赋值给循环变量。不存在的索引将不会遍历到。
但是for/in循环能够枚举继承的属性名,所以数组 上不应该使用for/in循环,除非使用格外的检测方法来过滤不想要的属性。
ECMAScript规范允许for/in循环以不同的顺序遍历对象的属性,通常数组元素的遍历都是升序的,但不一定保证一定是这样。特别是,如果数组同时拥有对象属性和数组元素,返回的属性名很可能是按照创建的顺序而非数值的大小顺序。如何处理这个问题的实现各不相同,如果算法依赖于遍历的顺序,那么最好不要使用for/in而使用for循环。
ECMAScript5定义了一些遍历数组元素的新方法,按照索引的顺序按个传递给定义的一个函数。这些方法中最常用的就是forEach()方法。