配列を結合して重複を除去

1182 ワード



配列の結合と重複の除去:
使用するconcat()、filter()、reduce()、indexOf()などの方法
これらの方法を使用する際に特に注意しなければならないのは、filter()、reduce()、map()の3つの方法をはっきり区別することである.関連マニュアルを見て、関連する返却状況、詳細を簡単に記録して、対応マニュアルを見てください.
1). map():
≪戻り値|Return Value|emdw≫:新しい配列.その結果、各要素が指定したコールバック関数を呼び出した後に返される結果です.元の配列は変更されません.
2). reduce():
戻り値:配列を巡り、コールバック関数を呼び出し、配列要素を組み合わせます.reduceは最小から、reduceRight()は逆です
3). filter():
戻り値:元の配列のサブセット(新しい配列に相当)で、コールバック関数は論理的に戻り、true>>現在の要素を返し、false>>は返さない
以下はFCCの上の進級問題で、私が整理したコード、この問題はいくつかの時間を費やして、最後に参考しますhttps://www.jianshu.com/p/51301859043c基本的に明らかにしました
function unite(arr1, arr2, arr3) {
    //newArr=(arr1.concat(arr2)).concat(arr3);//        ,      
    //  reduce     
    var args=Array.from(arguments);//  unite      
    var newArr=args.reduce(function(prev,cur){//prev>>    cur>>    
      return prev.concat(cur);
    });
    //         
   var outArr=newArr.filter(function(value,index){//value      index>>      
   //  indexOf()  value           index         
   return newArr.indexOf(value)==index;
 }); 
  return outArr;
}

初心者は出発して、以下を記録して、後で閲覧するのに便利です