⭐️ JadenCase 문자열 변환 함수
function solution(s) {
// 문자열 s를 모두 소문자로 변환합니다.
s = s.toLowerCase();
// 문자열 s를 단어 단위로 쪼개어 배열로 만듭니다.
const words = s.split(" ");
// 배열의 각 요소를 순회하며, 각 요소의 첫 번째 문자를 대문자로 변경하고, 나머지 문자는 소문자로 변경합니다.
const convertedWords = words.map((word) => {
// 각 요소의 첫 번째 문자를 대문자로 변경합니다.
const firstChar = word.substring(0, 1).toUpperCase();
// 나머지 문자는 소문자로 변경합니다.
const restChars = word.slice(1).toLowerCase();
// 첫 번째 문자와 나머지 문자를 합쳐 반환합니다.
return firstChar + restChars;
});
// 변환된 배열을 다시 문자열로 합쳐 반환합니다.
return convertedWords.join(" ");
}
console.log(solution("3people unFollowed me")); //3people Unfollowed Me
substring() 메소드 : string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환합니다.
const firstChar = word.substring(0, 1).toUpperCase();
substring(0, 1)은 문자열의 첫 번째 문자를 추출하는 메소드입니다. toUpperCase()는 해당 문자를 대문자로 변환하는 메소드입니다.
따라서 word.substring(0, 1).toUpperCase()는 문자열 word의 첫 번째 문자를 대문자로 변환한 문자열을 반환합니다.
예를 들어, 문자열 apple이 word 변수에 할당되어 있다면, word.substring(0, 1)은 a를 반환하고, toUpperCase() 메소드를 적용하여 A로 변환합니다. 결과적으로 firstChar 변수에는 A가 할당됩니다.
slice() 메서드 : 어떤 배열의 시작 부터 끝 까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다.
원본 배열은 바뀌지 않습니다.
const restChars = word.slice(1).toLowerCase();
해당 코드는 문자열 word에서 첫 번째 문자를 제외한 나머지 문자열을 소문자로 변환하는 코드입니다.
slice(1) 메소드는 문자열 word에서 첫 번째 문자를 제외한 문자열을 추출합니다. toLowerCase() 메소드는 추출된 문자열을 소문자로 변환합니다. 따라서 word.slice(1).toLowerCase()는 문자열 word의 첫 번째 문자를 제외한 나머지 문자열을 소문자로 변환한 문자열을 반환합니다.
예를 들어, 문자열 apple이 word 변수에 할당되어 있다면, word.slice(1)은 pple을 반환하고, toLowerCase() 메소드를 적용하여 pple을 소문자로 변환한 문자열인 pple이 restChars 변수에 할당됩니다.
✅ 참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substring
https://school.programmers.co.kr/learn/courses/30/lessons/12951
'Javascript' 카테고리의 다른 글
사용자 검색 기능 구현 (1) | 2023.07.04 |
---|---|
map() 함수와 Number 함수를 사용한 배열 변환 (0) | 2023.04.14 |
forEach, map, reduce, filter (0) | 2022.11.13 |