JavaScript中的迭代方法:1、every(),可查詢數組中的每一個元素是否都滿足某一條件;2、some(),可查詢數組中每個元素是否滿足某些條件;3、filter();4、map();5、forEach();6、reduce()。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
定義:
1、迭代(iterate),指的是依照某種順序逐一存取清單中的每一項。例如,for語句。
2、迴圈(loop),指的是在滿足條件的情況下,重複執行同一段程式碼。比如,while語句。
3、遍歷(traversal),指的是依照一定的規則來存取樹狀結構中的每個節點,而且每個節點都只造訪一次。
4、遞歸(recursion),指的是一個函數不斷呼叫自身的行為。例如,以程式方式輸出著名的斐波納契數列。
1、every()
用來查詢陣列中的每一個是否都 滿足某一條件
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.every(function(item,index){ return (item > 5); // 判断传入的值是否全部都大于5 }) console.log(number); // false 只要有一个不满足就为 false
2、some()
查詢數組中每項滿足某些條件
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.every(function(item,index){ return (item > 5); // 判断传入的值哪些项大于5 }) console.log(number); // false 只要有一个满足就为true
3、filter()
篩選符合條件的項,組成新陣列
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.filter(function(item,index){ return (item > 5); // 判断传入的值哪些项大于5 }) console.log(number); // [6, 7, 8, 9]
4、map()
透過計算原始數組中的項,來組成新的數組
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.map(function(item,index){ return item - 1; // 判断传入的值哪些项大于5 }) console.log(number); // [0, 1, 2, 3, 4, 5, 6, 7, 8]
5、forEach()
傳入數組的每一項
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.forEach(function(item,index){ console.log(item); // [1, 2, 3, 4, 5, 6, 7, 8, 9] })
6、reduce()
數組的前項和後項進行累計值計算
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.reduce(function(prev,cur,index){ return prev + cur; }) console.log(number); // 1+2+3...+9 = 45 本质上就是数组中的项 累计运算的过程
# forEach 這個迭代方法在本質上和for 迴圈沒有什麼區別,但是在使用該方法的時候會傳入三個參數,在輸出時候傳入第一項,也就是輸出數組中的每一項,如果傳入第二項,那麼會循環迭代數組的index 的下標值,如果傳入的是第三項,那麼就是循環迭代整個num 數組。
【推薦學習:javascript高階教學】
#以上是JavaScript中的迭代方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!