Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- npm
- Linux
- fragment
- TypeScript
- 자바스크립트
- Kotlin
- 안드로이드
- React
- 오버라이딩
- TextView
- Javscript
- 랜덤넘버
- GoogleMaps
- 랜덤번호
- 리액트
- 코틀린
- Java
- Hook
- RecyclerView
- array
- JavaScript
- button
- SpringBoot
- JS
- scrollview
- nodejs
- stylesheet
- 구글맵스
- 스프링부트
- Android
Archives
- Today
- Total
타닥타닥 개발자의 일상
[JS/자바스크립트] 문자열 메서드를 이용해서 언더바 문자열을 카멜 표기법 문자로 바꾸는 함수 만들기 🐪 본문
코딩 기록/JavaScript
[JS/자바스크립트] 문자열 메서드를 이용해서 언더바 문자열을 카멜 표기법 문자로 바꾸는 함수 만들기 🐪
NomadHaven 2023. 6. 15. 10:05
언더바 표기법으로 작성된 변수의 이름을 카멜표기법으로 변환하는 프로그램을 만들어라
textarea에 입력된 내용은 버튼이 클릭되면 변환된다.
아래의 테스트 데이터를 textarea에 붙여넣고 한번에 변환한다.
underscore_case
first_name
Some_Variable
calculate_AGE
delayed_departure
버튼을 누를시 아래처럼 변환 되어야한다.
textarea에 입력된 내용, 클릭하는 버튼은 아래의 DOM 언어를 통해서 삽입된다.
document.body.append(document.createElement('textarea'));
document.body.append(document.createElement('button'));
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Make Functions</title>
<style>
body {
height: 100vh;
display: flex;
align-items: center;
background: linear-gradient(to top left, #28b487, #7dd56f);
}
h1 {
font-family: sans-serif;
font-size: 50px;
line-height: 1.3;
width: 100%;
padding: 30px;
text-align: center;
color: white;
}
button {
width: 50px;
height: 20px;
margin: 10px;
}
textarea {
width: 300px;
height: 100px;
}
</style>
</head>
<body>
<h1>Make Functions</h1>
<script src="codingchallenge.js"></script>
</body>
</html>
텍스트를 입력하고 버튼을 누르게 하는 기본 index.html 파일이다.
그렇다면 위의 화면에 텍스트를 입력하고 버튼을 누를때,
카멜 표기법으로 변환시키는 코드를 작성해보자
codingchallenge.js
'use strict';
document.body.append(document.createElement('textarea'));
document.body.append(document.createElement('button'));
//버튼에 클릭할시 function이 실행되게 설정
document.querySelector('button').addEventListener('click', function () {
//textarea에 입력된 value 를 text라는 변수에 대입
const text = document.querySelector('textarea').value;
//textarea에 입력된 value를 split 메서드를 이용해서 행별로 나누기
//행별로 나뉘에진 문자열은 row라는 배열에 저장
const rows = text.split('\n');
//rows라는 배열의 인덱스를 파악할 수 있도록 for문은 rows.entires()로 반복
//const[i,row] 에서 i는 인덱스 row는 배열에 있는 element
for (const [i,row] of rows.entries()) {
// element를 소문자로 변환 -> 공백 삭제- >"_"를 기준으로 문자열을 나눔 ->
//"_"기준으로 왼쪽 문자열 first, 오른쪽 문자열 second가 됨.
const [first, second] = row.toLowerCase().trim().split('_');
//first는 그대로 출력, second 문자열의 0번째 인덱스 문자는 대문자로 교체.
//first와 0번째 인덱스 문자가 대문자로 교체된 second를 결합하여 카멜표기법으로 변환 완료.
//변환완료된 문자는 output이라는 문자열에 대입.
const ouptut = `${first}${second.replace(
second[0],
second[0].toUpperCase()
)}`;
//output 변수에 padEnd 메서드를 이용해서 글자수를 20개로 맞추며 간격 유지.
//✅에는 repeat메서드 이용해서 인덱스와 일치하는 개수 출력
console.log(`${ouptut.padEnd(20)}${'✅'.repeat(i+1)}`);
}
});
위의 코드를 작성하고
아래와 같이 textarea 에 문자열을 입력해보자.
버튼을 누른다음,
아래와 같이 출력된다면
프로그램 완성!
'코딩 기록 > JavaScript' 카테고리의 다른 글
[JS/자바스크립트 ] 함수의 디폴트 밸류, 디폴트 값 (0) | 2023.06.19 |
---|---|
[JS/자바스크립트] 문자열 메서드를 모두 이용하여 복잡한 문자열을 구조를 갖춘 형태로 변환하는 함수 만들기 (0) | 2023.06.15 |
[JS/JavaScript] 문자열 나누기 합치기 정해진 글자수 만큼 다른 문자열로 채우기 반복하기 메소드 정리 split, join, repeat, padStart, padEnd (1) | 2023.06.11 |
[JS/자바스크립트] 문자열을 소문자 변환, 대문자 변환, 자르기, 교체하기 하는 방법 (1) | 2023.06.09 |
[JS, JavaScript] Map 자료구조 개념 이해를 체크하기 위한 간단한 코딩문제 풀어보기 (0) | 2023.06.02 |
Comments