A .ES5アレイトラバーサル方法およびES6要約
循環1.for。
ため(VAR iが= 0; I <arr.length; I ++ ){ にconsole.log(ARR [I])。 }
このメソッドは、に注意を払うに単純で何ですが、私たちは、次の方法の観点に続いて書き込みが多少、複雑になります。
2.forEach
CONST ARR = [1,2,3,4,5 ]。 arr.forEach((アイテム) => { にconsole.log(項目); })
このアプローチは、簡単にたくさんのようだが、結合された場合には、引き続き、ブレークエラーを突破し、停止または継続し続けることができません。だから、このようにしてスタートからフィニッシュまでだけトラバース、真ん中スキップされた中で一つ一つを停止することはできません。
3.every
CONST ARR = [1,2,3,4,5 ]。 arr.every((アイテム) => { にconsole.log(項目); })
問題のすべての良い解決策が中断されることとforEachの、上記のコードが出力されます1、1,2,3,4,5ない出力をスキップすることはできませんがあります。すべての関数の戻り値trueの場合、その後、その後、戻りfalseを破ることと等価であるならば、それは中断され、ダウントラバース。何も返されない場合は、効果が戻りfalseに相当し、直接中断。
CONST ARR = [1,2,3,4,5]。
arr.every((アイテム)=> {
(項目== 2)がtrueを返す場合、
)はconsole.log(項目と、
trueを返します;
})
コードのこの効果は、対応する使用を継続、2 1,3,4,5-に出力されます。
4.for ...で..
CONST ARR = [1,2,3,4,5 ]。 用(VARの指標でARR){ にconsole.log(インデックス、ARR [インデックス])。
}
実際に、この方法は、オブジェクトを横断するために使用され、インデックスが文字列型であり、このコードの出力は次のようになります。
0 1
1 2
2 3
3 4
4 5
上記の出力は、同様に見えるが、わずかにコード場合、変更が文字列型の前に、数字が続きます。
CONST ARR = [1,2,3,4,5 ]。 arr.p = 100 ; 用(VARの指標でARR){ にconsole.log(インデックス、ARR [インデックス])。 }
出力は次のようになります。
0 1
1 2
2 3
3 4
4 5
P 100
あなたは正しい、違いを見ることができますか?だから、のため...で特別に、一般的な配列トラバーサルのオブジェクトを横断するために用意したり、同様に使用しないでください!
5.for ...の
ES6のために新たに追加されています。
CONST ARR = [1,2,3,4,5 ]。 以下のための(ARRの項目を聞かせ){ にconsole.log(アイテム) }
この方法は、上述した、等に使用するため。
II ES5およびES6ダミーアレイは、それぞれの方法の配列に変換されます。
長さが横断することができますなどがあるが、彼はいくつかの他の操作配列などスライスなどなどを持っていない:人工配列は、疑似配列と呼ばれ、なぜ、彼は特性の配列を持っているからです。
ダミー列の定義を指す:長さ属性データとオブジェクトを索引付けすることによって記憶されていると、ダミーアレイです。
1.コールによって達成
ARR =せ[] .slice.call(引数)。
これは、仮引数配列と仮定する。
2.新しいからES6によって達成しました
(arrayLike、mapFn、this.Arg)パラメータから変換される擬似最初の配列を示し、2番目のパラメータは、各項目、第二の点を表し、この第3のパラメータの機能のために実行される操作を表します。
ARR = Array.from(引数)しましょう
上述したようにして配列データの配列に変換することができます。
実際には、そこに別の使用から、あなたはからのコンテンツの配列を初期化することができます。
せARR = Array.from({長さ:5}、()=> { リターン 1;});
長さ5,1のアレイの代わりに上記初期化動作とは、すべての内容を初期化します。
三.ES5とES6は、メソッドの新しい配列を作成します
ARRせ=アレイ(5 )。
ARRましょう = [];
({5}長さ、()=> {リターン1;}); //長さ5の配列、及び1の全ての値の配列を作成ARR = Array.fromましょう。
(1)ARR = Array.ofせ; // 配列、配列値を作成する[1]
LETのARR =アレイ(5).fill(1); //は、長さ5の配列、およびすべての割り当ての配列を作成します1。
上記の二つのES5の最も一般的な方法であり、あなたは最初の長さを指定することができますが、2番目は、指定することはできません。以下の3つの方法がES6です。
Array.fill(値、開始、終了)。最初の値は、開始および終了位置の第二第三の充填されるべきです。
四.ES5方法およびES6探し要素。
せ配列= [1,2,3,4,5 ]。 見つけてもらう = array.filter((アイテム)=> { 戻り項目%2 === 0 }) はconsole.log(検索)。
コード戻り値は、それが配列の終わりを見つけることであったであろう手法のES5の検索要素である、[2,4]であり、配列を返します。我々は条件を満たすために最初の要素を検索したい場合は、この方法は少し時間がかかることでしょう。
せ配列= [1,2,3,4,5 ]。 検索させ((アイテム)=> = array.find { 戻り項目%2 === 0 }) はconsole.log(検索)。
このアプローチは、最終的な結果は、我々は最初の要素だけを検索したい場合は、この方法は合理的である、2である、上記の新しいES6です。
要約:我々はES5およびES6を配列、変換、生成、検索動作、および比較を横断要約上記物品。唯一の適切な時に適切な方法を選択するために、各方法の特徴を理解します。