Sự khác biệt về kinh nghiệm trong lập trình javascript

Nội dung bài viết

Video học lập trình mỗi ngày

Sự khác biệt về kinh nghiệm trong lập trình javascript Mở đầu Trong thực tế cùng nhiều kết quả nhưng lại có nhiều phương pháp giải quyết khác nhau. Nhưng vấn đề ở chỗ ai được trả lương cao hơn, và vì sao họ luôn luôn được lựa chọn cho sự tin tuỏng. 

Và đây là một bài viết về tính hiệu quả của các devjs lõi làng. 

Yêu cầu bài toán:

 Cho một chuỗi hãy trả về chuỗi trên với hai điều kiện. Giống như tiêu đề một bài báo.

 1 - Chữ cái đầu tiên của mỗi từ đều viết hoa. 

2 - Hãy chắc chắn rằng phần còn lại của từ này là chữ thường. 

Tôi là một lập trình viên javascript -> Tôi Là Một Lập Trình Viên Javascript 

or 

TÔI LÀ MỘT LẬP TRÌNH VIÊN JAVASCRIPT -> Tôi Là Một Lập Trình Viên Javascript 

Đó là một bài toán đơn giản, và hãy xem các thuật toán đưa ra thế nào và hay xem 3 cách devjs hay xem cách giải quyết vấn đề như thế nào? 

Code 1 (Lập trình cơ bản)

function titleCase(str) {
  // Đưa về hết chữ thường
  let lowerCaseString = str.toLowerCase()
  // "tôi là một lập trình viên javascript"

  // Đưa về array 
  let splitString = lowerCaseString.split(' ')
  // ["tôi", 'là', 'một', 'lập', ...]

  //biển đổi array thành viết hoa với ký tự đầu tiên
  let titleCaseArray = splitString.map((word) => {
    return word[0].toUpperCase() + word.slice(1)
  })
  //["Tôi", 'Là', 'Một', 'Lập', ...]

  // Nối lại với nhau
  let titleCaseSentence = titleCaseArray.join(' ')
  // "Tôi Là Một Lập Trình Viên Javascript"

  // return
  return titleCaseSentence

}

titleCase("Tôi là một lập trình viên javascript"); // Tôi Là Một Lập Trình Viên Javascript

Code 2 (Lập trình nâng cao, có phẩm chất và đã code dạo nhiều :D)

function titleCase(str) {
  return str.toLowerCase().split(' ').map((word) => {
    return word[0].toUpperCase() + word.slice(1)
  }).join(' ')
}

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

Code 3 (Nhiều kinh nghiệm chiến trường xương máu :D)

Chú ý chú ý! Regex không phải là giải pháp tốt nhất cho người mới bắt đầu. Các biểu thức chính quy rất khó theo cách riêng của chúng và độ phức tạp của chúng là điểm chung cho nhiều developer có rất nhiều kinh nghiệm. Nhưng tôi khuyên đừng có sợ mà từ bỏ or không tìm hiểu gì về chúng. Sau này bạn trở thành một dev có nhiều kinh nghiệm thì regex sẽ là người bạn tuyệt vời của bạn.

function titleCase(str) {
  return str.toLowerCase().replace(/(^|\s)\S/g,
  (firstLetter) => firstLetter.toUpperCase());
}

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

Kết luận: Nếu bạn là một devjs tâm huyết và có những giải pháp nào hay hơn và hiệu quả hơn. Vui lòng share dưới comment giúp tôi.

 Tôi xin cảm ơn!
Ref: https://medium.freecodecamp.org/three-ways-to-title-case-a-sentence-in-javascript-676a9175eb27

Có thể bạn đã bị missing