1. 程式人生 > >js中的5個迭代方法

js中的5個迭代方法

1.every()方法:

例項:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.every(function(item,index,array){
   return (item>2)
   }
console.log(result)
執行結果:false

2.some()方法:

例項:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.some(function(item,index,array){
   return (item>2)
   }
 console.log(result)
執行結果:true

解釋: (1)對於every()方法和some()方法,它們都用於查詢陣列中的項是否滿足某個條件。 (2)但是,對於every()方法而言,傳入函式的每一項都返回true,這個方法才會返回true。 (3)對於some()方法而言,只要有部分符合條件,就會返回true.

3.filter()方法:

例項:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.filter(function(item,index,array){
    return (item>2);
});
console.log(result);
執行結果:
[ 3, 4, 5, 4, 3 ];

解釋:該方法用於查詢符合某些條件的所有陣列項,返回的是一個數組。

4.map()方法:

例項:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.map(function(item,index,array){
    return  item+2;
});
console.log(result);
執行結果:
[ 3, 4, 5, 6, 7, 6, 5, 4, 3 ]

解釋:map()方法也返回的是一個數組,是原始陣列的每一項都基於傳入函式進行了再次處理後的結果(即返回後的陣列,每一項都加了2)。

5.forEach()方法:

var a=[1,2,3,4,5,4,3,2,1];
var result=a.forEach(function(item,index,array){
 console.log(item+2);
 }
 console.log( result);
 執行結果為:
	    3
		4
		5
		6
		7
		6
		5
		4
		3
	undefined

解釋:forEach()方法沒有返回值,它的用法本質上與使用for迴圈迭代陣列是一樣的。

彙總:

上面提及的所有方法都不會改變原陣列,且每一個方法的傳入函式都對應有三個引數:陣列項的值,該項在陣列中的位置,陣列物件本身。

備註:參考資料(JavaScript高階程式設計第三版)