JavaScriptの文字列を切り捨てる方法



Link to video
ハッピー日6!今日は基本に戻ります.この課題は簡単にフロントエンドだけでなくバックエンドに適用することができます.
免責事項:この問題を解決するために多くの方法がありますが、これは私が参照したり、コーディングインタビューで使用し、適切な答えとして受け入れるだろう答えです
TLDR:解決策はポストの底にある

問題
文字列と数値を受け入れる関数を作成します.この関数は、与えられた文字列を最大長(通過された数)に切り詰めたものを返さなければなりません.文字列が渡された最大長より短い場合、渡された文字列を返します.
例:
        truncate('It works on my machine', 8) // 'It works...'
        truncate('It’s not a bug – it’s an undocumented feature', 14) // 'It’s not a bug...'
        truncate('In order to understand recursion, one must first understand recursion', 'In order to understand recursion, one must first understand recursion'.length)           // 'In order to understand recursion, one must first understand recursion'
        truncate('The cheapest, fastest, and most reliable components are those that aren’t there', 82) //'The cheapest, fastest, and most reliable components are those that aren’t there'

解決策
それで、我々は何をする必要がありますか?

  • 文字列と数値を受け入れる関数を作成する
  • 文字列の長さが
  • に渡された制限より大きいかどうかを調べます
  • ならば、制限の部分文字列を取得し、".."
  • 文字列
  • を返さない場合
    まず、文字列と数字を受け入れる関数を作成する必要があります
    function truncate(string,limit){
      //check if the string’s length is greater than the limit that was passed
      //if so get the substring of the limit and append “…”
      //if not return the string
    }
    
    渡された文字列の長さが
    function truncate(string,limit){
        if(string.length > limit){
          //get the substring of the limit and append "..."
        }else{
          //return the string
        }
    }
    
    lengthが大きければ、渡された制限に渡された文字列の部分文字列を取得する必要があります.あなたが不慣れであるならば.substr ()はthis MDN articleをチェックします.
    . sub ()は、渡された2つの数字に基づいてチェインされた文字列のサブ文字列を取得します.これらの2つの数字で、これらのインデックスの間の文字を取得します.ですから、私たちの場合、文字列の先頭を文字列の最大数にする必要があります.
    function truncate(string,limit){
        if(string.length > limit){
          string.substr(0, limit) + "..."
        }else{
          //return the string
        }
    }
    
    さもなければ、文字列を返すだけです
    function truncate(string,limit){
        if(string.length > limit){
          string.substr(0, limit) + "..."
        }else{
          return string
        }
    }
    
    もう少し短くしたいなら、このように書くことができます
    function truncate(string, limit){
      if(string.length > limit) string =  string.substr(0, limit) + "..."
      return string
    }
    
    今、我々はもう少しでtemplate literalsternariesを使用してこれをクリーンアップする場合は、これを得る!
    function truncate(string,limit){
        return string.length > limit ? `${string.substr(0,limit)}...` : string;
    }
    
    私はあなたがこの1つを楽しんだことを望む!あなたがコメントセクションで思い付いた解決策を残してください.あなたはまた、あなたはそれが来るを参照してください可能性があります以下のコメントでそれを残すことを参照してくださいする必要があります任意の課題がある場合!あなたがチャレンジを取得したい場合は、午前中に毎日通知され、ソリューションが投稿された通知をhereを購読する.