私が欲しいものは?
文字列内のすべての単語を大文字にするオブジェクト プロパティを作成したいのですが、オプションでアンダースコアをスペースに置き換えたり、文字列を最初に小文字にしたりします。オプションを2つのパラメータで設定したい:
最初のパラメーターは true ですか?
次に、すべてのアンダースコアを空白に置き換えます。
2 番目のパラメーターは true ですか?
次に、最初に完全な文字列を小文字にします。
私はこれまでに何をしていますか?
最初にアンダースコアをスペースに置き換えてから、すべての単語を大文字にします。
String.prototype.capitalize = function(underscore){
return (underscore ? this.replace(/\_/g, " ") : this).replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
}
var strUnderscoreFalse = "javaSCrIPT replace_First_underderscore with whitespace_false";
//replace underscore first = false
console.log(strUnderscoreFalse.capitalize());
var strUnderscoreTrue = "javaSCrIPT replace_First_underderscore with whitespace_true";
//replace underscore first = true
console.log(strUnderscoreTrue.capitalize(true));
最初に文字列を小文字にしてから、すべての単語を大文字にします:
String.prototype.capitalize = function(lower){
return (lower ? this.toLowerCase() : this).replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
}
var strLcaseFalse = "javaSCrIPT lowercase First false";
//lowercase first = false
console.log(strLcaseFalse.capitalize());
var strLcaseTrue = "javaSCrIPT lowercase First true";
//lowercase first = true
console.log(strLcaseTrue.capitalize(true));
私の質問は何ですか?
- この条件通知を使用してオブジェクト プロパティを作成しようとするのはこれが初めてです。この 2 つのオプションを、2 つのパラメーターを設定するだけでよいオブジェクト プロパティ関数に結合するにはどうすればよいですか?
例えば:
//replace underscore first = true and lowercase first = true
console.log(str.capitalize(true , true));
//replace underscore first = false and lowercase first = true
console.log(str.capitalize(false , true));
- 条件を「?」のような構文表記で書くのは一体何という名前なのでしょうか。と":" ?