0

私はJavascriptでプログラミングする能力に取り組んできました。私が抱えている懸念の 1 つは、コードが機能することですが、それが効率的かどうかはわかりません。問題を適切に解決するのではなく、問題を回避し続けているような気がします。例えば:

function titleCase(str) {
  var words = str.split(' ');
  for(var i = 0; i<words.length;i++){
    words[i] = words[i].toLowerCase();
    letters = words[i].split('');
    letters[0] = letters[0].toUpperCase();
    word = letters.join('');
    words[i] = word;
  }
  str = words.toString().replace(/,/g," ");
  console.log(str);
  return str;
}

titleCase("I'm a little tea pot");

物事を行うためのより良い方法が必要だと感じています。1) 物事を行うためのより効率的な方法を学ぶ方法 2) このコードをどのようにクリーンアップしますか?

本当にありがとう

4

1 に答える 1

3

プログラムの速度が問題であることに気付くまでは、効率について心配する必要はありません。

きれいなコードと読みやすさの点では、高階関数は一般に for ループよりも優れています。

function titleCase (string) {
  return string.split(' ').map(function(word) {
    return word[0].toUpperCase() + word.slice(1)
  }).join(' ');
}

またはES6ではさらに高速です:

const titleCase = (str) => 
  str.split(' ')
  .map(word => word[0].toUpperCase() + word.slice(1))
  .join(' ')
于 2016-06-13T22:31:01.227 に答える