アレイの組み込み方法の使用方法

7671 ワード

  • 配列を入力して、配列の中で最も短い文字列要素
  • を返します.
    function findShortestWord(arr) {
      // TODO: 여기에 코드를 작성합니다.
      let result = [] 
      arr.reduce(function(acc,cur){
        if(typeof(cur) === 'string'){
          result.push(cur)
        }
      },0)
      if(result.length === 0){
        return ''
      }
      let min = result[0]
      result.reduce(function(acc, cur){
        if(cur.length < min.length){
          min = cur
        }
      },0)
      return min
    }
    初めて
  • 題を見たときの考えは
  • でした.
  • 配列のstring要素のみをフィルタします.
  • フィルタ要素の長さを比較します.
  • で比較された要素の中で最も長い文字列を返します.
  • コード
  • を行ごとに表示します.
  • function findShortestWord(arr) {
    配列としてパラメータを受け入れる関数を宣言します.
      let result = [] 
    配列に文字列のみをフィルタし、整列が必要な空の配列変数resultに割り当てます.
       arr.reduce(function(acc,cur){
         if(typeof(cur) === 'string'){
          result.push(cur)
        }
      },0)
    ここではfilterを使用して配列内の文字列をフィルタできますが、reduceを使用して解きたいです.初期値を0に設定し、コンソールを設定します.log(acc,cur)が表示されると、accの値にundefinedが表示され、curの値に2倍の要素が表示されます.したがって,条件としてcurのタイプがstringの場合,以前に作成されたものであり,結果として条件に合致するcruのみがpushである.これにより、結果はstringタイプの値のみが格納されます.
      let min = result[0]
      result.reduce(function(acc, cur){
        if(cur.length < min.length){
          min = cur
        }
      },0)
      return min
    }
    文字列間で比較する必要があります.比較のためにminという変数にresult[0]を割り当て、reduceを使用して初期値を0に設定します.これにより、上記のコードのようにaccには値がなく、curにはresultの要素が含まれています.だからcurlengthがmin.lengthより小さい場合、変数minにcurを再割り当てします.もしそうであればresultのすべての要素を比較し、最後に変数minに格納された値が最も短い文字列になり、mue minが返されます.
    こんなにたくさんやったので、テストを回しました.
    空の配列の入力を受信した場合は、空の文字列を返す必要があります.
    指定した配列に文字列がない場合は、空の文字列を返す必要があります.
    この二つのプロジェクトは合格しなかった.
     if(result.length === 0){
        return ''
      }
    だから結果.lengthが空の配列である場合、中間で条件文を使用して空の文字列を返して問題を解決します.