各マップ・マッピング・アレイのための、そこ戻り値
マップの定義および方法
マップ()メソッドは、新しい配列を返し、配列要素は、元の処理に配列要素の値の関数を呼び出します。
配列要素内の処理要素の元の順序にマップ()メソッド。
注:
空の配列を検出しないマップ
マップは元の配列の変化しない
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])。