配列を結合して重複を除去
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;
}
初心者は出発して、以下を記録して、後で閲覧するのに便利です