JavaScript配列は、要約を指摘します

各マップ・マッピング・アレイのための、そこ戻り値

 

 

マップの定義および方法 
マップ()メソッドは、新しい配列を返し、配列要素は、元の処理に配列要素の値の関数を呼び出します。 
配列要素内の処理要素の元の順序にマップ()メソッド。 
注: 
空の配列を検出しないマップ 
マップは元の配列の変化しない 
arr.mapを(関数(currentValueは、インデックス、  ARR)、thisValue)
パラメータ説明 
関数(currentValueは、インデックス、ARR) 
それぞれ有し、機能、アレイこの機能は、基本機能パラメータ行います 
引数を 
重視しなければならない現在の要素電流値 
のインデックスを現在の要素のオプションの指標値 
現在の要素に属するオブジェクトのオプションの配列ARRを。 

スコア= LET [19,58,80,97 ]; 
 LET結果 = score.map(関数(){
      戻り項目> = 60 'パス':? '失敗' ; 
 })
  - >結果= [なく、フェイル】合格合格合格。
ARR = LET [1,2,3,4 ]; 
 LET結果 = arr.map(関数(項目){
      // アイテムの各アレイは
     、戻り項目* 2 ; 
 });
  - >結果= [1、 9、16]

foreachループと同じ滴のため、ノーリターン値、それは書き込みの種類への道のための循環のための、あります

聞かせてARR = [12,12,33,45 ]。
 arr.forEach(関数(項目、インデックス){ 
     にconsole.log(項目);
      - > 12,12,33,45 
 })

フィルターフィルター(左部分、姿を消した部分)

// trueまたはfalseを返すことによって返すかどうかを決定する
 // 例:3で割り切れる数を返し         
 LETのARR = [12,5,8,9 ]; 
 LET結果 = arr.filter(関数(アイテム){
      IF(%項目3 == 0 ){
          リターン trueに; 
     } そう{
          リターン 偽へ
     } 
     // == 0.3%項目リターンと略記;
})

概要を減らす(のパイルの外に)計算の総数は、より激しいの平均値を算出します

// 求和 
 せARR = [11122333344 ]。
 せ結果 = arr.reduce(関数(TMP、商品、指数){
      戻り TMP + アイテム; 
 })
  • このようなプロセスは、液滴ある:我々は加算器、122 + 333 + 11 + 344を計算する場合、11 +を私たちは、中間結果は、次に、333に追加される中間結果を得るために、最初のステップ122、133を計算する必要があり、次いで与えます中間結果466、および810から466プラス344によって、最終的な結果
  • 動作原理を減らす最初の中間結果が開始されていないため、また場合であるので、アレイは、最初のアイテムTMP割り当てられ、インデックスが1である、配列の2番目の項目であり、結果が得られた11 + 122、133のリターンを計算します第2の演算結果がTMP + 12 122 133である場合アウト、アイテムは、第3のアレイ333内のインデックス2、結果TMP +アイテム466の戻り出て、TMPは第466で計算され、アイテムは344で、指数は3で、その結果は、これは、アレイ内の最後の項目ですので、戻って結果に結果ので、外出に戻りました。
計算の数 TMP 項目 指数
0番目 11 122 1
第一 11 + 122 333 2
第2回 (11 + 122)333


  // 最後の請求の平均平均計算
        // 合計する 
        のlet ARR = [11122333344 ;] 
        LET結果 = arr.reduce(関数(){TEMP、アイテム、インデックスを
             IF(インデックス= arr.length){!// ません最後の時間は、合計し
                返し TEMP + ;項目を
            }  { // 最後の
                リターン ;(TEMP +項目)/arr.length
             } 
        })
ショッピングカートの合計金額を計算する:*アプリケーションを

string.Split()操作が行わ  Array.joinの  動作が逆になります。

< -実施例:!商品のリストは、ショッピングカートにある場合- > 
 せショッピングカート = [ 
     {ID: 1、名称: 'ソックス' ,.価格:56である、IMGS: '1.JPG、2.JPG' }、
     ID {: 2名: '下着' ,.価格:156、IMGS: '3.JPG、4.JPG' }、
     {ID: 3、名称: 'ジャケット'、価格:1156、IMGS: 「5.jpg、 6.jpg ' }、
     {ID: 4、名称:'パンツ,.価格:4156、IMGS: '7.jpg、8.jpg' }、
     {ID: 5、名称: 'ブラ'、価格:14156、IMGS : '9.jpg、10.jpg' } 
 ] 
 // 1 1000の価格未満服濾去 
 LET結果= shoppingCart.filter(項目=> item.price> = 1000 );
  - >結果= [ 
     {IDを: 3、名前: 'ジャケット'、価格:1156、IMGS: '5.jpg、6.jpg' }、
     {ID:4、名称: 'パンツ' ,.価格:4156、IMGS: '7.jpg、8.jpg ' }、
     {ID: 5、名称:'ブラ'、価格:14156、IMGS: '9.jpg、10.jpg ' } 
 ] 
 // 2.アレイ形式の画像に 
 LET結果= shoppingCart.map(項目=> { 
     item.imgs = item.imgs.split(' ' );
      を返すアイテム; 
 })
  - >結果= [ {ID:1、名称: 'ソックス' ,.価格:56である、IMGS:[ '1.JPG'、 '2.JPG' ]}、
     {ID: 2、名称: '下着'、価格:156、IMGSました: [ '3.JPG'、 '4.JPG' ]}、
     {ID: 3、名称: 'ジャケット' ,.価格:1156、IMGS:[ '5.jpg'、 '6.jpg' ]}、
     {ID: 4名前:'パンツ' ,.価格:4156、IMGS:[ '7.jpg'、 '8.jpg' ]}、'パンツ' ,.価格:4156、IMGS:[ '7.jpg'、 '8.jpg' 
     {ID: 5、名称: 'ブラジャー' ,.価格:14156、IMGS:[ '9.jpg'、'10 .JPG ' ]}]
  // まず、価格をマッピングするマップを用いて算出した合計価格は、その後減少させますそして算出

 TOTAL_PRICEせ = shoppingCart.mapを(アイテム=> item.price)
                             .reduce((TEMP、項目) =>アイテムTEMP +)。

 配列の順序を乱す(アイデアの本質は、アレイの位置を変更することです)

            VaRのシャッフル= 関数(ARR){
                 VARのLEN、T、ランド。
                ためVAR I = 0、LEN = arr.length、iがLEN <; iは++ ){ 
                    ランド =のparseInt(Math.random()* LEN)。 
                    // のparseInt(Math.random()*(LEN-1-0)+1);或者ランド= Math.floor(Math.random()*(LEN-1-0)+1);即Math.random( )*(最大-最小)+1 
                    のT =のARR [ランド]。
                    ARR [ランド] = ARR [I]。
                    [I] ARR =のT。
                } 
                にconsole.log(ARR)。
             
            }
            シャッフル([ 1,2,3,4,5,6])。

 

おすすめ

転載: www.cnblogs.com/ddqyc/p/10451202.html