วิธีใช้อักษรตัวพิมพ์ใหญ่ตัวแรกและตัวพิมพ์เล็กส่วนที่เหลือของสตริง

Aug 20 2020

ฉันพยายามใช้อักษรตัวแรกของคำแรกในประโยคเป็นตัวพิมพ์ใหญ่

นี่คือข้อมูลในไฟล์ tsx {this.text ({id downloadPriceHistory:, defaultMessage: 'Download Price History'})} id ที่แสดงด้านบนมาจากฐานข้อมูลที่สามารถส่งไปยัง api ในรูปแบบต่างๆ

ฉันได้ลองใช้ตรรกะด้านล่างนี้แล้ว:

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;

}

ตัวอย่างเช่นสำหรับการป้อนข้อมูลผลที่ควรจะเป็น"Download Price History""Download price history"

คำตอบ

4 iota Aug 20 2020 at 18:36

คุณจะต้องใช้อักษรตัวแรกเป็นตัวพิมพ์ใหญ่และเชื่อมต่อกับส่วนที่เหลือของสตริงที่แปลงเป็นตัวพิมพ์เล็ก

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

นอกจากนี้ยังสามารถทำได้ด้วย CSS โดยการตั้งค่าtext-transformการlowercaseสำหรับองค์ประกอบทั้งหมดและใช้::first-letterองค์ประกอบหลอกเพื่อตั้งค่าการtext-transformuppercase

.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

ลอง - ทำให้สตริงที่เหลือเป็นตัวพิมพ์เล็กเช่นกัน

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

ทำไมไม่ใช้ตัวพิมพ์เล็กทั้งสตริงและตัวพิมพ์ใหญ่เพียงตัวอักษรตัวแรกของสตริงใหม่

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

(นอกจากนี้คุณกำลังลบพารามิเตอร์ของคุณไปยังฟังก์ชันด้วยบรรทัดแรกนั้น)

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

คำแนะนำของฉันคือคุณได้รับองค์ประกอบแรกของสตริงและใส่ตัวพิมพ์ใหญ่และรับส่วนที่เหลือของสตริงและใช้ฟังก์ชันตัวพิมพ์เล็ก

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

ใช้ CSS:

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

ใช้ JS:

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