1.イテレーターのために
foreachメソッドはパラメーターとして関数を受信し、配列内の各要素に対してこの関数を使用し、この関数のみを呼び出すだけで、配列自体は変更されません
// foreach iterator function square(num){document.write(num + '' + num*num + '<br>');} var nums = [1,2,3,5,6,7,8]; nums.foreach(square);ブラウザの結果出力は次のとおりです。
2.すべてのイテレーター
すべてのメソッドは、ブールリターン値を持つ関数を受け入れ、配列内の各要素に対してこの関数を使用します。関数がすべての要素に対してtrueを返す場合、メソッドはtrueを返し、それ以外の場合はfalseを返します
//すべてのiterator関数iseven(num){return num%2 == 0;} var nums = [2,4,6,8]; document.write(nums.every(iseven));3.いくつかのイテレーター
また、一部の方法では、ブールリターン値を持つ関数も受け入れます。関数がtrueを返す要素がある限り、メソッドはtrueを返します。
//いくつかのiterator関数iseven(num){return num%2 == 0;} var nums = [1,3,5,7]; document.write(nums.some(iseven));4.イテレーターを削減します
reduceメソッドは関数を受け入れ、値を返します。このメソッドは蓄積された値から始まり、アレイ内の累積値とその後の要素の関数を常に呼び出し、配列の最後の要素を知っており、最終的に返された蓄積値を取得します
// Iterator関数を削減する(runningTotal、currentValue){return runningTotal + currentValue;} var nums = [1,2,3,4,6,7,8,9,10]; var sum = nums.reduce(add); document.write(sum);結果は次のとおりです。55
reduce() add()とともに、配列内の要素は左から右に合計されます。実行プロセスは次のとおりです。
追加(1,2) - > 3ADD(3,3) - > 6ADD(6,4) - > 10ADD(10,5) - > 15ADD(15,6) - > 21ADD(21,7) - > 28ADD(28,8) - > 36ADD(36,9) - > 45ADD(45,10) - > 555555555
reduce方法は、配列内の要素を長い文字列にリンクするためにも使用できます。コードは次のとおりです
//アレイ要素を連結するために還元を使用する機能(蓄積されたストリング、アイテム){return AccumulatedString + item;} var words = ['the'、 'Quick'、 'brown'、 'fox']; var conte = words.reduce(concat); document.write(cente);最終出力の結果は次のとおりです。
JavaScriptは、次のように、 Reduce方法とは異なり、右から左に実行されるreduceRightメソッドも提供します。
//アレイ要素を連結するために削減を使用するコンカット(蓄積されたストリング、アイテム){return AccumulatedString + item;} var words = ['the'、 'Quick'、 'brown'、 'fox']; var conte = words.duceRight(concat); document.write(cente);実行結果は次のとおりです。
5.map Iterator
Map Iteratorはforeachに多少似ていますが、次のコードに示すように、マップは配列を変更して新しい配列を生成します
// Map Iteratorを使用して、新しい配列関数曲線(グレード)を生成する{return grade+5;} var grades = [77,65,81,92,83]; var newgrades = grades.map(curve); document.write(newgrades);出力結果:
6.ファイターイテレータ
すべてのイテレーターと同様に、ブールの戻り値で関数を通過します。 everyメソッドとは異なり、配列内のすべての要素が対応する関数の結果がtrueである場合、メソッドはtrueを返さず、対応する関数の要素を含む新しい配列を返します。コードは次のとおりです
function iseven(num){return num%2 == 0;} function isodd(num){return num%2!= 0;} var nums = []; nums.filter(isodd); document.write(odds);出力の結果は次のとおりです。
要約します
上記は、JavaScriptの6つの反復器の概要です。この記事の内容が、すべての人の勉強と仕事に役立つことを願っています。