Cara membuat huruf besar pertama dan huruf kecil sisa string

Aug 20 2020

Saya mencoba menggunakan huruf besar pada huruf pertama dari hanya kata pertama dalam sebuah kalimat.

Ini adalah data dalam file tsx {this.text ({id downloadPriceHistory:, defaultMessage: 'Download Price History'})} id yang ditunjukkan di atas berasal dari database yang dapat dikirim ke api dalam berbagai bentuk.

Saya telah mencoba menggunakan logika ini di bawah:

export function titleCase(string) {
    string = 'hello World';
    const sentence = string.toLowerCase().split('');
      for (let i = 0; i < sentence.length; i++) {
          sentence[i] = sentence[i][0].toUpperCase() + sentence[i];
    }
     return sentence;

}

Misalnya untuk input "Download Price History", hasilnya harus "Download price history".

Jawaban

4 iota Aug 20 2020 at 18:36

Anda hanya perlu mengubah huruf pertama menjadi huruf besar dan menggabungkannya dengan sisa string yang diubah menjadi huruf kecil.

function titleCase(string){
  return string[0].toUpperCase() + string.slice(1).toLowerCase();
}
console.log(titleCase('Download Price History'));

Ini juga dapat dilakukan dengan CSS dengan menyetel text-transformke lowercaseuntuk seluruh elemen dan menggunakan ::first-letterelemen semu untuk menyetel text-transformke uppercase.

.capitalize-first {
  text-transform: lowercase;
}
.capitalize-first::first-letter {
  text-transform: uppercase;
}
<p class="capitalize-first">Download Price History</p>

2 Manas Aug 20 2020 at 18:35

coba - buat sisa string dalam huruf kecil juga.

export function titleCase(string) {
     return string[0].toUpperCase() + string.substr(1).toLowerCase()
}
1 codythecoder Aug 20 2020 at 18:41

Mengapa tidak hanya huruf kecil seluruh string, dan huruf besar hanya huruf pertama dari string baru?

function titleCase(string) {
    let sentence = string.toLowerCase();
    let titleCaseSentence = sentence.charAt(0).toUpperCase() + sentence.substring(1, sentence.length);
    return titleCaseSentence;
}

(Juga, Anda menghapus parameter Anda ke fungsi dengan baris pertama itu)

    string = 'hello World';
1 MuriloGóesdeAlmeida Aug 20 2020 at 18:43

Saran saya adalah Anda mendapatkan elemen string pertama dan memasukkannya ke dalam huruf besar dan mendapatkan sisa string dan menerapkan fungsi huruf kecil.

titleCase(string) {
  return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
}
1 Constantin Aug 20 2020 at 18:36

Menggunakan CSS:

p {
  text-transform: lowercase;
}
p::first-letter {
  text-transform: uppercase
}

Menggunakan JS:

const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1).toLowercase();