JavaScript數組(Array)類型之叠代方法
阿新 • • 發佈:2018-04-10
運行 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)類型之叠代方法