js 中的五種迭代方法


ECMAScript 為數組定義了五個迭代方法。
每個方法都接收兩個參數:要在每一項上運行的函數和(可選的)運行該函數的作用域對象——影響this的值。
傳入這些方法中的函數會接收三個參數:數組項的值、該項在數組中的位置和數組對象本省。
根據使用的方法不同,這個函數執行后的返回值可能會也可能不會影響方法的返回值。
以下是這五個迭代方法的作用。
 1、every(); 
對數組中的每一項運行給定函數,如果該函數對每一項都返回true,則返回true。 2、some();
對數組的每一項運行給定函數,如果該函數對任一項返回true,則返回true。
 var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
 var everyResult = numbers.every(function(item, index, array){
     return (item > 3);
 })
 console.log(everyResult);    //false
    
 var someResult = numbers.some(function(item, index, array) {
     return (item > 3);
 })
 console.log(someResult);    //true
3、filter(); 
對數組中的每一項運行給定函數,返回改函數會返回true的項組成的數組。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var filterResult = numbers.filter(function(item, index, array) {
    return (item > 3);
})
console.log(filterResult);    //[4, 5, 4]
4、map(); 
對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var mapResult = numbers.map(function(item, index, array) {
    return item * 2;
})
console.log(mapResult);    //[2, 4, 6, 8, 10, 8, 6, 4, 2]
5、forEach(); 
對數組中的每一項運行給定的函數,該方法沒有返回值,本質上與使用for循環迭代數組一樣。
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
numbers.forEach(function(item, index, array) {
   //執行某些操作
})

原文路徑:https://segmentfault.com/a/1190000009940387


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM