1. 程式人生 > >JavaScript數組(Array)類型之叠代方法

JavaScript數組(Array)類型之叠代方法

運行 map() var 瀏覽器 給定 HR urn IE 每次

ECMAScript 5為數組定義了5個叠代方法。每個方法都接收兩個參數:要在每一項上運行的函數和(可選的)運行該函數的作用域對象——影響this的值。

傳入這些方法中的函數會接收到三個參數:數組項的值該項在數組中的位置數組對象本身

以下是這5個叠代方法的作用:

  • every():對數組中的每一項運行給定函數,如果該函數對每一項都返回true,則返回true。
  • some():對數組中的每一項運行給定函數,如果該函數對任一項都返回true,則返回true。
 1 var numbers = [1,2,3,4,5,4,3,2,1];  
 2   
 3 var everyResult = numbers.every(function
(item, index, array){ 4 return (item > 2); 5 }); 6 7 alert(everyResult); //false 8 9 var someResult = numbers.some(function(item, index, array){ 10 return (item > 2); 11 }); 12 13 alert(someResult); //true
  • filter():對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組。
1 var numbers = [1,2,3,4,5,4,3,2,1];  
2   
3 var filterResult = numbers.filter(function(item, index, array){  
4     return (item > 2);  
5 });  
6   
7 alert(filterResult);    //[3,4,5,4,3] 
  • forEach():對數組中的每一項運行給定函數。這個方法沒有返回值。
1 var numbers = [1,2,3,4,5,4,3,2,1];  
2   
3 numbers.forEach(function
(item, index, array){ 4 //執行某些操作 5 });
  • map():對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組。
1 var numbers = [1,2,3,4,5,4,3,2,1];  
2   
3 var mapResult = numbers.map(function(item, index, array){  
4     return item * 2;  
5 });  
6   
7 alert(mapResult);    //[2,4,6,8,10,8,6,4,2]  

支持這些叠代方法的瀏覽器有IE9+、Firefox 2+、Safari 3+、Opera 9.5+和Chrome。

JavaScript數組(Array)類型之叠代方法