reduce()方法の勉強と整理


今日の文章を見る時、レデュースの方法を見て循環をするのは比較的に優雅な書き方です.
記事のリンク:https://www.jianshu.com/p/e375ba1cfc47
1.文法
reduce()メソッドは、アキュムレータとして関数を受信し、配列内の各値(左から右へ)は縮小され、最終的には1つの値として計算される.reduce()は関数のcomposeとして高次関数として利用できる.注意:reduce()は、空の配列に対しては、コールバック関数を実行しません.
arr.reduce(calback,[initial Value])
calback詳細:
  • previous Values:前回のコールバック関数の戻り値は、第1回はinitialValueの値です.initialValueの値はどのように設定されていませんか?配列の最初の要素の値
  • です.
  • currentValue:配列は現在処理されている値で、initialValueはセットされていません.配列の第二の要素の値です.
  • index:現在の要素の配列内のインデックスです.デフォルト値は1で、設定initialValueinitialValueの値
  • です.
  • array:reduce方法を呼び出す配列
  • initial Value:calbackを初めて呼び出す最初のパラメータ
  • 2.例
    var arr = [1, 2, 3, 4];
    var sum = arr.reduce(function(prev, cur, index, arr) {
        console.log(prev, cur, index);
        return prev + cur;
    })
    console.log(arr, sum);
    
    印刷結果:1 2 1 3 2 4[1,2,3,4]10
    3.その他の文法
  • if in
  • 	if ( cur in pre ) {
           pre[cur]++
      	}
    
    if in用法は、属性がオブジェクト上の代表に属するかどうかを判断するもので、precur属性があるかどうかを判断するものである.
    注:in私は普通for inに使っています.
  • if in
  •    if ( !pre.includes(cur) ) {
          return pre.concat(cur)
        }
    
    ncludes()メソッドは、文字列が指定されたサブ文字列を含むかどうかを判断するために使用されます.マッチする文字列が見つかったらtrueを返します.そうでなければfalseを返します.includes()方法は大文字と小文字を区別します.
    したがって、上記のコードは、includesに文字列curが含まれているかどうかを判断するために使用される.
    4.討論
    バックグランドの彼氏と要素マッチング配列について話していますが、彼はバックグランドにpreの方法があると教えてくれました.jsの中にもあるかもしれません.検索したら、jQueryの中のcontainsです.
    $contains()メソッドは、指定された要素に他の要素が含まれているかどうかを判断するために使用されます.すなわち、他のDOM要素がDOM要素の後裔を指定するかどうかを判断する.
    例:
    $(function () {
        function funcontain( html ){
            document.body.innerHTML += "
    " + html; } funcontain($.contains( document.documentElement, document.body )); // true funcontain($.contains( document.body, document.documentElement )); // false })
    butは文章を見ていると、containsが配列内にある要素が存在するかどうかを判断しています.文字列だけのindexOfです.文書を調べたら、本当にあることが分かりました.また一つ勉強しました.書き方と文字列の一致は、要素の位置を返します.戻り値が見つかりませんでした.
    あるお偉さんの文章はこれを言っています.分析がいいです.