2021/12/21) 17. 重複する単語の削除


1.質問
<重複語の削除>
:N個の文字列を入力すると、ライタは重複する文字列を削除して出力します.出力された文字列は元の入力順序を保持します.
2.解決方法
  • フィルタは高次関数であり、第1のパラメータ論値と第2のパラメータはインデックスを受け入れる.したがって、indexOfを使用してtrueのみを使用して新しい配列を作成します.
  • ! プラスの概念
    ->パラメータvsパラメータ/高次関数vsコールバック関数/filter
  • パラメータ(外部から入力された値)とパラメータ(=パラメータ、関数内部から入力された値)の違いは観点の違いです!関数のパラメータは、関数呼び出し時に宣言(undefinedに初期化)され、パラメータが再割り当てされます.
  • 高次関数は、パラメータを介して関数の外部からコールバック関数を伝達する関数である.
    コールバック関数は、パラメータを介して他の関数の内部に渡される関数です.
    =>整理後,パラメータを介して外部関数を伝達する関数を高次関数,高次関数のパラメータとして伝達する関数をコールバック関数と呼ぶ.
    高次関数にはforeaach,map,filter,reduceなどがある.
  • filter:trueという特定の条件のコンテンツのみを抽出し、新しい配列を作成して返します.
  • 3.正解
            <script>
                function solution(s){  
                    let answer;
                    //console.log(s.indexOf("time"));
                    answer=s.filter(function(v, i){
                        return s.indexOf(v)===i; //if(s.indexOf(v) === i ) return true; 랑 같음. 둘 다 어차피 true 혹은 false이므로.
                    });
                    return answer;
                }
                let str=["good", "time", "good", "time", "student"]; 
                console.log(solution(str));
            </script>
    4.私のコードとの比較と反省
    初心を探す...呜呜...私は1日1つのアルゴリズムを誓って、今...
    朝勉強すると誓ってからなおさらだ.夜は早起きを口実に寝、朝5時に目が覚めたら疲れを口実に再び寝る.だから全然勉强しない现象.
    私は朝型の人ではありません.私は自分を過小評価しています.
    次に、配列ではなく文字列を返します.前に習った内容に従ってコードを書きました.考えてみましょう.