javascript中数组循环遍历有两种方式:for和forEach
1、for循环
1.1 语法
for ( var i = 0; i < items.length; i++)
{
//var item = items[i];
}
举例:
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
var arr = ["a", "b", "c", "d"];
for (var i = 0; i < arr.length; i++)
{
document.writeln(arr[i]);
document.writeln("<br/>");
}
</script>
</body>
</html>
运行结果:
a
b
c
d
1.2 跳出循环
for循环中使用continue、break,continue作用是本次循环,后面的循环继续;break则是跳出后面的所有循环。
另外,renturn(包括return、return false和return true),作用和break一样.
例如:
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
var arr = ["a", "b", "c", "d"];
for (var i = 0; i < arr.length; i++)
{
if (i == 2)
{
break;
}
document.writeln(arr[i]);
document.writeln("<br/>");
}
</script>
</body>
</html>
运行结果:
a
b
2、forEach循环
这种方式比for更为简便。
2.1 语法
items.forEach(function(item[, index]){
//item是数组元素, index是元素在数组中的下标
})
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
var arr = ["a", "b", "c", "d"];
arr.forEach(function(item, i){
document.writeln(item + ":" + i);
document.writeln("<br/>");
});
</script>
</body>
</html>
运行结果:
a:0
b:1
c:2
d:3
Firefox 和Chrome 的Array 类型都有forEach的函数, 但是,代码在IE中却无法正常工作。因为IE的Array 没有这个方法
alert(Array.prototype.forEach);
执行以上这句得到的是 "undefined", 也就是说在IE 中 Array 没有forEach的方法。
2.2 如何跳出循环
forEach循环中不能使用continue和break;但能使用renturn(包括return、return false和return true),作用类似java中的continue.
举例:
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
var arr = ["a", "b", "c", "d"];
arr.forEach(function(item, i){
if (i == 2)
{
return;
}
document.writeln(item + ":" + i);
document.writeln("<br/>");
});
</script>
</body>
</html>
执行结果:
a:0
b:1
d:3