一般咱們使用得最熟悉的是for循環。數組
好比對於一組數字的排大小,能夠使用冒泡法。函數
var a=[];
for(var d=0;d<5;d++){
var b=window.prompt("請輸入數字:");
a[d]=parseInt(b);
}
for(var n=0;n<a.length;n++){
for(var i=0;i<a.length-n;i++){
if(a[i]>a[i+1]){
var temp=a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
}
}
document.write(a);對象
目前js的新特性,foreach,遍歷每個元素,爲咱們提供了方便。回調函數
foreach通常用於循環數組,for in通常用於循環對象。it
foreach語句並不能徹底取代for語句,然而,任何的foreach語句均可以改寫爲for語句版本。io
下面,看一個例子,利用foreach來遍歷每個元素,使其乘以10.console
var a=[9,8,7,10,5,4,3];
var b=[];
a.forEach(function(value,i){
b[i]=a[i]*10;
});
console.log(a);
console.log(b);for循環
上面提到for...in,通常用於遍歷對象,能夠看下一下例子:function
var obj={
name:"張飛",
age:20,
gender:"男"
};
console.log(obj);
for(var k in obj){
console.log([k,obj[k]]);
}foreach
關於數組,有一個map方法,不只能夠循環函數,還能夠做爲回調函數,將值返回到新的數組中。
var a=[9,8,7,10,5,12,3];
var myAry= a.map(function(value){
return value*10; //若是不寫return,新數組會有原來數組的長度,可是裏面的值爲undefined
if(value>10){
return value*10;
}else{ //須要寫else,否則小於10 的都爲undefined
return value;
}
});
console.log(myAry);
filter ,過濾數組,符合條件的進行返回,與map的區別在於不符合的不return,也不會出現undefined。 var myAry1= a.filter(function(value){ if(value>10){ return value; } }); console.log(myAry1);