配列トラバーサルでJS

forEachの()
マップ()----配列の更新
(フィルターを)、(含まれる)、 ()、findIndex()----見つけるスクリーニング(削除)の配列
いくつかの()は、すべての()----裁判官配列を
減らします()----重畳アレイ
arr.forEach()
コールバック関数を使用して、配列のすべての要素を反復するアレイ.LENGTH倍を介して、自動的に動作し、ループの途中まで壊すことができない、制御不能

サイクル場合にのみ、現在の制御周期のうち、返すために、出力動作がサポートされていません戻ります

例:

[1,2,3,4] .forEach((N)=> {
にconsole.log(N);
})


arr.map()----配列更新
新しい配列を作成するには
、元の配列は変更されません
出力は配列出力、どのような新しいものに復帰され
たコールバック関数のパラメータ、項目(配列要素)、インデックス(シーケンス)、ARR(配列自体)
のリターンを使用して出力動作、各項目は、アレイを通してループし、コールバック関数に動作
例:

ARR = VAR [1,2,3,4,5];
VAR = newArr arr.map(関数(項目、インデックス){
戻り*項目2; //更新操作アレイ
})
はconsole.log(newArr); //新しいアレイプリント
はconsole.log(ARRを); //元の配列を印刷し、マップは()元の配列は変更されません。


arr.filter()、(含む)、 ()、findIndex()を見つける- - スクリーニングアレイ
1、arr.filter()
新しい配列を作成する
元の配列を変更しない
出力は配列要素の真なる新しい配列と判定された
コールバック関数をパラメータ項目(アレイ要素)、インデックス(シーケンス)、ARR(配列自体)
出力復帰動作を使用して、アレイが各サイクルし、コールバック関数に動作
例:

ARR = VAR [1,2,3,4,5];
VAR = newArr arr.filter(関数(項目、インデックス){
戻り項目>項目2 && <5;真//追加トラバーサルサイクルに新しい配列に応じて決定されます
} )
にconsole.log(newArr); //新しいアレイの印刷
はconsole.log(ARRを); //は、元の配列を印刷し、マップは()元の配列は変更されません。


二つ、arr.includes()は
単に、配列が特定の値、ノーリターン、コールバック関数が含まれているかどうかを決定するtrueまたはfalseを出力します

ARR = VAR [1,2,3,4,5];
NEW1 arr.includes =命名VAR(5); //コールバック関数、およびジョブの完全一致、光源アレイ55が(しない正規の利用可能性など)flaseであるような
console.log(命名NEW1);
はconsole.log(ARR)。


三、arr.find()
新しいアレイを作成しない
元の配列が変化しない
出力する配列要素がループアウト修飾の真の出力が決定される
コールバックパラメータ、項目(アレイ要素)、インデックス(シーケンス)、ARR(配列自体)
、出力の復帰動作を使用するアレイは、各サイクルあり、コールバック関数で動作
例:

ARR = VAR [1,2,3,4,5];
VAR名前NEW1 = arr.find(関数(項目、インデックス){
戻り項目>項目2 && <5; //トラバーサルサイクルはサイクルのうち、次に真であると判定されます、出力電流の配列要素は、リサイクルしない
)}
VAR = arr.find NEW2(関数(項目、インデックス){に
item.toString()のindexOfを返す>(5) - 。1つの;. //現在の配列要素を文字列に指標とすることができる()> - 1は、それが文字含まれているか否かを判断
})
はconsole.log(名前NEW1を); //印刷動作の結果の後に
、それが文字印刷が含まれる場合にconsole.log(NEW2)//(nは良くなります、ここではそれを使用する方法を学ぶために)
はconsole.log(ARR); //は、元の配列を印刷し、見つける()元の配列は変更されません。


四、arr.findIndex() - ( - )同じものを見つけるために
新しいアレイが作成せずに
元の配列の変化しない
出力を配列要素がループアウト修飾の真の出力が決定される
コールバックパラメータ、項目(アレイ要素)、インデックス(配列)、ARR(配列自体)
出力復帰動作を使用して、アレイが各サイクルし、コールバック関数で動作
するvar ARR = [1,2,3,4,5];
NEW1 = arr.findIndex命名VAR(関数(アイテム、インデックス){
戻り項目>項目2 && <5; //トラバーサルサイクル決意は、ループの外に該当する場合、配列要素の現在のシーケンスの出力は、再循環されない
})
VAR = arr.findIndex NEW2に(関数(項目、インデックス){
;リターン()のindexOf(5)> item.toString - - 1。。。、文字列に//現在の配列要素をすることができるインデックス()> 1は、文字含まれているか否かを判断する
)}
はconsole.log(名前NEW1)を、 //操作の結果、印刷
にconsole.log(NEW2)//それは、文字(nのは、ここでそれを使用することを学んで、より良いだろう)含まれているかどうかを印刷する
にconsole.log(ARR); //元の配列、findIndexを(印刷)変更されません。元の配列


 

arr.some()、すべての() - - 分析配列

、いくつかの()
新しい配列を作成しません。

2、元の配列を変更しません

図3に示すように、出力が真と判定された今、ループを終了し、trueに戻します

図4に示すように、コールバック関数パラメータ、項目(アレイ要素)、インデックス(シーケンス)、ARR(配列自体)

図5に示すように、リターン出力操作を使用して、各項目コールバック関数の配列、および動作をループ


ARR = VAR [1,2,3,4,5];
VAR名前NEW1 = arr.some(関数(項目、インデックス){
戻り項目>項目2 && <5; //条件が真のサイクル出力から判断される満たします
} )
VAR = NEW2にarr.some(関数(項目、インデックス){
戻り項目> 5; //配列のすべての要素が修飾出力がないと判定されたflase
})
はconsole.log(名付けNEW1);
NEW2にはconsole.log()。
console.log(ARR)。


二、すべての( - ) -いくつかの反対で
 
(低減) - -重畳アレイは
必ずしも重畳手段は数学的な意味で計算重畳されない:結果は、それを使用して、使用を横断する次トラバーサル操作の繰り返しオーバーレイを利用することができ

1.新しい配列を作成します。

2、元の配列を変更しません

3、出力配列に重畳されたすべての新しい出力のリターンは何であります

図4に示すように、コールバック関数パラメータ

プレ(配列内の最初の項目最後の操作の結果の後、最初として)
次の(次配列)
のインデックス(シーケンス内の次のアイテム)
ARR(配列自体)
コールバック関数を最初のパラメータを変更します。(ていない元の配列において)
5、復帰動作出力を使用して、アレイが各サイクルあり、コールバック関数で動作します
 


//和演算
ARR1 = [1,2,3,4,5]のVAR、
VARという名前NEW1 = arr1.reduce(関数(SUM、次に、インデックス){
次に戻りSUM +;
/ *
*まず:プレ- >次に1 - > 2索引- > 1。
*戻り、トラバース計算結果が得られた1 = +次に+プリ= 2 3。
*秒:プレ- >次に3 - >指数3 - > 2
* 。トラバース計算結果が得られる戻り3 =次に+ +プリ= 6。3。
*第三:。。。プレ- >次に6 - >インデックス4 - > 3
*戻り、トラバース計算結果得られた予備+次= 6 + 4 = 10
*第四:プレ- > 10次- >インデックス5 - > 4
*戻りトラバース計算結果が得られると次のページ= 10 + +プリ= 15 5
* /
})

//平坦化配列
のvar ARR2 = [ [1,2,3]、[4,5]、[6,7である];
VAR = NEW2にarr2.reduce(関数(プリ、次に、インデックス){
戻りpre.concat(NEXT);スプライシング前//アレイアレイ.concatは()後
})

配列オーバーレイ計算オブジェクト//
VARのARR3 = [10:{価格は 、カウント:1}、{価格:15、回数:2}、{価格:10は、カウント:3}]。
NEW3 arr3.reduce = VAR(関数(プリ、次に、インデックス){
* + next.count事前next.priceを返す;
、最初のアイテム、事前後の使用の演算結果に動作する//必要はありません動作させるために必要な
://(0など、添加前の最初の配列に、callbreakを(){})の使用が初めて減らす場合ように動作する必要が
0)//最初の元の配列を追加し、} 0は、元の配列を変更せずに、最初の操作がなくてもよい

;はconsole.log(名前NEW1)
(NEW2に)はconsole.log;
はconsole.log(NEW3);

(ARR1の)はconsole.log; //共通配列
はconsole.log(ARR2 ); //複数のアレイ
にconsole.log(ARR3);オブジェクトの//配列

---------------------
著者:reda-タオ
出典:CSDN
オリジナルます。https://blog.csdn.net/RedaTao/article/details/89151381
著作権表示:この記事では、ブロガーのオリジナルの記事、再現され、ボーエンのリンクを添付してください!

おすすめ

転載: www.cnblogs.com/ginkgo-leaves/p/10988310.html