JavaScript 使用for迭代数组
■知识点
for和for/in语句都可以迭代数组。for语句需要配合length属性和数组下标来实现,执行效率没有for/in语句高。另外,for/in语句会跳过空元素。
■实例设计
【示例1】下面的示例使用for语句迭代数组,过滤出所有数字元素。
var a = [1, 2, ,,,,,,true,,,,,,, "a",,,,,,,,,,,,,,,4,,,,,56,,,,,,"b"]; //定义数组
var b = [], num=0;
for( var i = 0; i < a.length ; i ++ ){ //遍历数组
if( typeof a[i] == "number") //如果为数字,则返回该元素的值
b.push( a[i]);
num++; //计数器
}
console.log( num ); //返回42,说明循环了42次
console.log ( b ); //返回[1,2,4,56]
【示例2】下面的代码使用for/in语句迭代示例丨中的数组a。在for/in循环结构中,变量i表示数组的下标,而a[i]为可以读取指定下标的元素值。 var b = [], num=0;
for ( var i in a ) { //遍历数组
if ( typeof a[i] == "number") //如果为数字,则返回该元素的值
b.push ( a [i]);
num++; //计数器
}
console.log ( num ) ; //返回7,说明循环了 7次
console.log ( b ); //返回[1,2,4,56]
通过计时器可以看到,for/in迭代数组,仅循环了 7次,而for语句循环了 42次。
点击加载更多评论>>