ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptのループメソッドとは何ですか
メソッド: 1. for ループ; 2. for in ループ; 3. while ループ; 4. do while ループ; 5. forEach ループ; 6. map(); 7. filter(); 8. some (); 9.every(); 10.reduce(); 11.for of ループなど
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター
12 JavaScript のループ トラバーサル メソッド
1. for ループ
let arr = [1,2,3]; for (let i=0; i<arr.length; i++){ console.log(i,arr[i]) } // 0 1 // 1 2 // 2 3
for ループは、JS で最も一般的に使用されるループ ツールであり、よく使用されます。配列 ループスルーします。
2. for in ループ
let obj = {name:'zhou',age:'**'} for(let i in obj){ console.log(i,obj[i]) } // name zhou // age **
for in ループは主に通常のオブジェクトを走査するために使用されます。i はオブジェクトのキー値を表し、obj[i]は、対応する値を表します。これを使用して配列を反復処理する場合、ほとんどの場合、同じ効果が得られますが、これは行わないでください。i は文字列形式で出力されるため、必要な数値添字ではなく、これは危険です。配列。場合によっては、文字列操作が発生し、必要な 53 の代わりに '52' 1 = '521' などのデータ エラーが発生することを意味します。
さらに、for in ループが自身のプロパティを走査するだけでなく、プロトタイプも見つけることになるため、ループ本体に判断を追加するのが最善です。単に obj[i].hasOwnProperty( i) あまりにも多くの不必要な属性が走査されることを避けるため。
3. while ループ
同様に、cars 配列を走査し、最初に for ループ メソッド
let cars=["BMW","Volvo","Saab","Ford"]; let i=0; for (;cars[i];) { console.log(cars[i]) i++; }; // BMW // Volvo // Saab // Ford
を使用し、次に while ループ メソッド
cars=["BMW","Volvo","Saab","Ford"]; var i=0; while (cars[i]) { console.log(cars[i] + "<br>") i++; };## を使用します。 #us これらは同じ効果を達成できることがわかりました。実際、基礎となる処理は同じです。ただし、for ループを使用すると、定義、条件判定、インクリメントおよびデクリメント操作を 1 つの条件にまとめて実行できます。コードはよりよく見えます。便利です、それだけです。
4. do while ループ
let i = 3; do{ console.log(i) i--; } while(i>0) // 3 // 2 // 1do while ループは while ループの変形で、最初に演算を実行し、次に条件判定を実行します。 trueの場合は操作を続行し、falseの場合はループを終了します。
5. 配列 forEach ループ
let arr = [1,2,3]; arr.forEach(function(i,index){ console.log(i,index) }) // 1 0 // 2 1 // 3 2forEach ループは、配列内の各要素をループして操作を実行します。戻り値はありません。実行する必要はありません。配列の長さがわかります。配列には 3 つのパラメータがあり、最初のパラメータのみが必要で、現在のインデックスの値を表します。 また、forEach ループは、すべての要素が呼び出される前に停止できないことに注意してください。これには、break ステートメントがありません。停止する必要がある場合は、try catch ステートメントを試すことができます。強制終了したい場合。エラーは catch でキャッチされ、catch で返されるため、ループを終了できます。このメソッドを頻繁に使用する場合は、そのような forEach 関数をライブラリでカスタマイズするのが最善です。
6. 配列map()メソッド
let arr = [1,2,3]; let tt = arr.map(function(i){ console.log(i) return i*2; }) // [2,4,6]map()メソッドは新しい配列を返し、配列内の要素は元の配列の値です。関数呼び出し後の要素。
注: map メソッドと forEach メソッドは、配列を走査するためにのみ使用でき、通常のオブジェクトには使用できません。
7. Array filter() メソッド
let arr = [1,2,3]; let tt = arr.filter(function(i){ return i>1; }) // [2,3]filter メソッドは Array オブジェクトの組み込みメソッドで、元の要素を変更せずにフィルタリングされた要素を返します。配列。
8. 配列 some() メソッド
let arr = [1,2,3]; let tt = arr.some(function(i){ return i>1; }) // truesome() メソッドは、配列内の要素が指定された条件 (関数によって提供される) を満たすかどうかを検出するために使用されます。元の配列は変更されません。
9. 配列のevery()メソッド
let arr = [1,2,3]; let tt = arr.some(function(i){ return i>1; }) // 检测数组中元素是否都大于1 // falseevery()メソッドは、配列のすべての要素が指定された条件(関数によって提供される)を満たしているかどうかを検出するために使用されます。ブール値を返しますが、元の配列は変更されません。
10. 配列reduce()メソッド
let arr = [1,2,3]; let ad = arr.reduce(function(i,j){ return i+j; }) // 6reduce()メソッドは、配列内の各値から(左から右へ)アキュムレータとして関数を受け取ります。削減され、最終的に値が計算されます。
11. 配列reduceRight()メソッド
let arr = [1,2,3]; let ad = arr.reduceRight(function(i,j){ return i+j; }) // 6reduceRight()メソッドはreduce()と同じ機能を持ち、配列の末尾から前方計算を開始します。
12. for of ループ
let arr = ['name','age']; for(let i of arr){ console.log(i) } // name // agefor of ループは Es6 の新しいステートメントで、for in と forEach を置き換えるために使用されます。これにより、配列 ( array )、Strings (文字列)、Map (マッピング)、Sets (セット)、およびその他の反復可能な (Iterable data) データ構造を使用する場合は、その互換性に注意してください。 プログラミング関連の知識について詳しくは、
プログラミング入門をご覧ください。 !
以上がJavaScriptのループメソッドとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。