をJS理解することができません。私はそう期待される出力された配列にこれはコード[アレイとフィルタ]
var array1 = [1, 2, 3];
var array2 = [2, 30, 1];
を結合して、すべての重複項目を削除
に私たちを尋ねた質問に出くわしました
[1, 2, 3, 30]
コメント欄にはこの解決策がありましたeは理解する:
var array1 = [1, 2, 3]; var array2 = [2, 30, 1]; function concatArrays(array1, array2){ var concated = array1.concat(array2); var solution = concated.filter(function(element,Index,self){ return Index== self.indexOf(element); }); console.log(solution); } concatArrays(array1,array2);
は、だから、私は、フィルタメソッドが何を知っているこのライン
var solution = concated.filter(function(element,Index,self){ return Index == self.indexOf(element); });
を理解したいのですが、その後、戻り部分に私は彼のコードを理解することができないんです。
これは私がリターン部分がすると思います。
index of element
とindex of current element
を比較してください。それが等しいなら、それ以外の場合は何もしないでください。
私の解釈が正しいかどうかわかりません。
あなたはリターンについてのどの部分を理解していませんか? 2つの指標を比較しています。 – Carcigenicate
EDITED @Carcigenicateその2つのインデックスを比較すると、どのようにして重複値を削除できますか? 例 要素が1の場合、その要素のインデックスと比較した後、indexOf()を使用して0に変換されるので、どのようにして重複データを削除できますか? –
*現在のインデックス*と、配列内のこの要素の最初の出現*のインデックスを比較します。そして、このコードの大文字の 'Index'は臭いがします。それはクラスではありません。 – Thomas