JavaScript中的迭代方法:1、every(),可查詢數(shù)組中的每一個元素是否都滿足某一條件;2、some(),可查詢數(shù)組中每個元素是否滿足某些條件;3、filter();4、map();5、forEach();6、reduce()。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
定義:
1、迭代(iterate),指的是按照某種順序逐個訪問列表中的每一項。比如,for語句。
2、循環(huán)(loop),指的是在滿足條件的情況下,重復執(zhí)行同一段代碼。比如,while語句。
3、遍歷(traversal),指的是按照一定的規(guī)則訪問樹形結構中的每個節(jié)點,而且每個節(jié)點都只訪問一次。
4、遞歸(recursion),指的是一個函數(shù)不斷調(diào)用自身的行為。比如,以編程方式輸出著名的斐波納契數(shù)列。
JavaScript中的迭代方法:
1、every()
用來查詢數(shù)組中的 每一個是否 都 滿足某一條件
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()
查詢數(shù)組中每項滿足 某些條件
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()
篩選符合條件的項,組成新數(shù)組
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()
通過計算原數(shù)組中的項,來組成新的數(shù)組
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()
傳入數(shù)組的每一項
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()
數(shù)組的前項和后項進行累計值計算
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 本質(zhì)上就是數(shù)組中的項 累計運算的過程
注意
forEach 這個迭代方法在本質(zhì)上和 for 循環(huán)沒有什么區(qū)別,但是在使用該方法的時候會傳入三個參數(shù),在輸出時候傳入第一項,也就是輸出數(shù)組中的每一項,如果傳入第二項,那么會循環(huán)迭代數(shù)組的 index 的下標值,如果傳入的是第三項,那么是循環(huán)迭代整個 num 數(shù)組。
【推薦學習:javascript高級教程】