1.while 循环
While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。
while (条件) 语句;
// 或者
while (条件) 语句;
//举例:
var i = 0;
while (i < 100) {
console.log('i 当前为:' + i); i = i + 1;
}
2.for循环
for(var i=0;i<filterarray.length;i++){
alert(filterarray[i]);
}
3.增强for…in循环
var obj = {a: 1, b: 2, c: 3};
for (var i in obj) {
console.log('键名:', i);
console.log('键值:', obj[i]);
}
// 键名: a // 键值: 1 // 键名: b // 键值: 2
// 其中 obj为循环的对象, i 为对象中的“键名”。如果对象是数组,那么i就是坐标。
4.map()循环
map方法将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回。
注意:是返回一个新数组,而不会改变原数组。
var numbers = [1, 2, 3];
numbers.map(function (n) {
return n + 1;
});
// [2, 3, 4]
numbers // [1, 2, 3]
5.forEach循环
forEach方法与map方法很相似,也是对数组的所有成员依次执行参数函数。但是,forEach方法不返回值,只用来操作数据。也就是说,如果数组遍历的目的是为了得到返回值,那么使用map方法,否则使用forEach方法。forEach的用法与map方法一致,参数是一个函数,该函数同样接受三个参数:当前值、当前位置、整个数组。
function log(element, index, array) {
console.log('[' + index + '] = ' + element);
} ;
[2, 5, 9].forEach(log); // [0] = 2 // [1] = 5 // [2] = 9
6.filter()过滤循环
filter方法用于过滤数组成员,满足条件的成员组成一个新数组返回。它的参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。
[1, 2, 3, 4, 5].filter(function (elem) {
return (elem > 3);
}) // [4, 5]
// 上面代码将大于3的数组成员,作为一个新数组返回。
var arr = [0, 1, 'a', false];
arr.filter(Boolean) // [1, "a"]