자바스크립트는 첫 글자를 대문자로

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

엔지니어처럼 생각하기 시작하는 데 도움이 되는 많은 초보자 코드 문제가 있습니다. 그러한 문제 중 하나는 주어진 문자열에서 모든 단어의 첫 글자를 대문자로 표시하는 것입니다. 이 기사에서는 JavaScript에서 프롬프트와 몇 가지 가능한 솔루션을 살펴보겠습니다.

str을 포함하는 capitalize 함수가 주어지면 매개변수로 각 단어를 대문자로 표시한 str을 반환합니다. 솔루션의 최대 사례(입력, 잘못된 입력 유형 등)를 생각해 보십시오.

접근 방법

  1. 프롬프트를 다시 살펴보세요. 단어에서 찾을 수 있는 키워드를 적어 두거나 강조 표시하십시오.
  2. 단어 문제의 의미를 결합하십시오. 코드 챌린지를 수행할 때 가장 어려운 부분 중 하나는 문제가 무엇을 요구하는지 파악하는 것입니다. 문제를 이해하면 문제를 해결하는 데 많은 도움이 됩니다.
  3. 가능한 의사 코드 솔루션. 실제 코드일 필요는 없습니다(IDE 또는 콘솔 브라우저에서 실행할 필요가 없습니다. 간단한 영어로도 가능):

문제를 차근차근 차근차근 풀어보세요. 잘못된 항목이나 빈 문자열이 전달될 수 있는 경우와 문제를 논리적 단계로 나누는 방법에 대한 팁 사례를 생각하는 데 도움이 됩니다. 이것은 기본적으로 실험 단계입니다. 오답은 없으며 문제에 접근하는 방법에 대한 생각만 있습니다. 이러한 생각은 오해의 소지가 있거나 잘못된 것일 수 있습니다. 이것이 문제 해결을 위한 접근 방식에 대해 배우는 방법입니다.

큰 소리로 설명하여 쪼개면 논리가 더 쉽다는 것을 알았다. 귀하의 마일리지는 귀하의 접근 방식에 따라 다를 수 있지만 적어도 귀하에게 효과가 있는 경우를 대비하여 제안하고 싶습니다! 이런 작은 문제에 대한 별명은 좀 과한 것 같지만, 지금 개념을 연습하면 훨씬 더 어려운 문제를 풀 때 더 쉬울 것입니다.

해결책

해결 방법 # 1: String.replace() 및 charAt() 메서드로 분할() 및 루프

Leave = 대문자(str) => {= stop str.split(``); for (i = 0; i

이 첫 번째 솔루션에서는 문자열을 공백으로 나눕니다. 이것은 각각의 고유한 단어를 인덱스로 제공합니다. 배열의 루프는 각 문자열의 개인 인덱스에 액세스할 수 있는 가능성을 제공합니다. 인덱스 0에 있는 문자열(arr [i] .charAt(0)을 대문자 값으로 대체한 결과로 문자열(이 경우 문자열은 arr [i])을 인덱스 i에 다시 할당했습니다. 각 단어 사이의 공백

해결 방법 # 2: map 메소드와 슬라이스로 분할

이 솔루션에서 우리는 매우 유사한 방식으로 시작하지만 네트워크를 통해 루프 카드라는 ES6 배열 메서드를 사용하고 반환합니다. 각 단어의 첫 번째 문자를 대문자로 표시하는 새로운 값. 첫 번째 문자에 대한 toUpperCase(), 나머지 문자열에 대한 slice() 및 문자열로 수행할 작업을 명시적으로 설정하여 이 작업을 수행합니다. 단어의 새 버전을 얻기 위해 연결합니다. 그런 다음 배열을 병합하고 반환합니다.

솔루션 n ¬∞ 3: 정규식

허용 레버리지 = (str) => {let regex = / (^ | s) S / g 반환 str.replace (정규식, 문자 => letter.toUpperCase()); } 루트 유지 = document.getElementById(`루트`); root.innerHTML = JSON.stringify(대문자화(빠른 갈색 여우가 게으른 개 `Äã`Äã`)에 뛰어올랐습니다.);

이 솔루션에서는 정규식을 사용하여 문자열 시작 부분에서 흰색이 아닌 모든 문자(S)를 찾습니다(^ ) 또는 공백 문자 뒤. 끝에 있는 표시기 g는 전역을 의미하며 이 모델의 모든 인스턴스를 찾을 수 있습니다. 그런 다음 replace 메서드를 사용하여 해당 정규식 패턴을 해당 문자를 받아 대문자로 반환하는 함수로 교체합니다.

최종 생각

이러한 솔루션이 결코 유일한 솔루션은 아닙니다. 이 문제 .. 대부분의 경우 이러한 작업을 더 많이 시작하면 기사나 블로그에서 제공하는 것과 다를 수도 있고 다를 수도 있는 솔루션을 찾을 수 있습니다. 이것은 좋은 일입니다. 그것은 당신이 엔지니어처럼 생각하기 시작한다는 것을 의미합니다. 그리고 그것이 요점입니다.

계속합니다. 이러한 솔루션에서는 피크 사례가 해결되지 않습니다. 주제가 비어 있거나 숫자인 경우 어떻게 해야 합니까? 이러한 경계적인 경우를 처리하여 위의 코드에 추가해 보십시오.

:. 조건부로 str이 있는지 확인하려면 마침표/강타 느낌표를 사용합니다. MDN 문서를 확인하여 그것이 무엇인지 모를 때 유형을 찾는 방법이 있는지 알아보세요.

한 가지 : 아직 시도하지 않은 경우 역 자바스크립트 챌린지 문자열

고려할 기타 리소스:

Ruby에서 정규식 사용 - 이것은 Ruby 전용이지만 정규식은 종종 언어 독립적인 경우가 많습니다. 1. 3.

JavaScript 텍스트 바꾸기: 단계별 가이드 - 솔루션 n에서 사용되는 대체 방법 전용 자습서입니다. 1.