본문 바로가기

오늘 한 일을 기록하자/TIL

200923_TIL

오늘 한 일

  • 문자열 indexOf(), split(), substring(), slice(), toUpperCase(), toLowCase()
  • Template string(template literal) 사용방법
  • pair programing(Driver) - 코플릿 문자열 문제 풀기(1번 ~ 17)
  • Office Hour - csv 형식의 데이터가 주어졌을 때 원하는 문자를 추출하기

 

indexOf(searchValue[, fromIndex])

호출한 String 객체에서 주어진 searchValue 와 일치하는 첫 번째 인덱스를 반환한다.

 

let word = 'Hello Code';

// fromIndex의 기본값은 0이다. 문자열 전체를 대상으로 찾는다.
word.indexOf('l');		// 2

//fromIndex 값이 음수면 전체 문자열을 찾는다.
word.indexOf('l', -6);		//2

//일치하는 값이 없다면 -1을 반환한다.
word.indexOf('z');		// -1

word.indexOf('C', 0);		// 6
word.indexOf('C', 8);		// -1

// 아무 값도 주어지지 않으면 문자열 "undefined"를 찾으려는 문자열로 사용한다.
word.indexOf('');		// 0

// fromIndex >= str.length 이면, 검색하지 않고 바로 -1을 반환한다.
word.indexOf('d', 29);		// -1

 

split([separator[, limit]])

지정한 구분자를 이용하여 여러 개의 문자열로 나눈다.

 

let str = 'box, car, coffe, name, korea, computer';

let words = str.split(',');
console.log(words);		// ["box", " car", " coffe", " name", " korea", " computer"]

console.log(words[3]);		// name

let strCopy = str.split();
console.log(strCopy);		// ["box, car, coffe, name, korea, computer"]

 

substring(indexStart[, indexEnd])

기존문자열의 부분 문자열을 반환한다.

 

let word = 'codestates';

// indexEnd이 생략된 경우에 문자열의 끝까지 모든 문자를 추출한다.
word.substring(2);		// 'destates'

// indexStart와 indexEnd가 같을 경우, "" 빈 문자열을 반환한다.
word.substring(4, 4);		// ''

// indexStart > indexEnd 경우, 두 개의 인자를 바꾼 듯 동작한다.
word.substring(0, 1);		// 'c'
word.substring(1, 0);		// 'c'

// 뒤에서 부터 반환하기
word.substring(word.length-5);	// 'tates'
word.substring(word.length-7);	// 'estates'

 

slice(beginIndex[, endIndex])

문자열의 일부를 추출하면서 새로운 문자열을 반환한다.

 

let str0 = 'The Wind Blows',		// str0의 문자열 길이는 14
	str1 = str0.slice(1, 8),		
	str2 = str0.slice(4, -2),		
	str3 = str0.slice(12),			
	str4 = str0.slice(30);			

console.log(str1);		// 'he Wind'
console.log(str2);		// 'Wind Blo'
console.log(str3);		// 'ws'
console.log(str4);		// ''

 

 

Template string(template literal)

백틱(` `)을 이용한다.

${ expression } 을 이용해 변수 or 함수를 표기한다.

 

let a = 2020;
let b = 5;

// Expression_interpolation
Exp = "앞으로 " + b + "년 뒤 \n" + (a + b) + "년 이다.";

console.log(Exp);
// "앞으로 5년 뒤
// 2025년 이다."

// Template_literals

console.log(`앞으로 ${b}년 뒤 
${a + b}년 이다.`);
// "앞으로 5년 뒤
// 2025년 이다."

 

 

오늘 느낀점

  • 자바스크립트 문자열 문제를 풀면서 문법을 익히고 있다. 아직까지 어려움은 없다.
  • 매주 월, 수는 pair programming 과 Office Hour 가 있는 날이다. 오늘은 페어로 재윤님과 함께 문자열 문제풀이를 했다. 내가 드라이버고, 재윤님이 네비게이터로 진행됐다. 나는 재윤님이 생각할 수 있는 시간을 최대한 주고, 문제가 정답이더라도 부가적인 설명과 레퍼런스를 비교해 재윤님의 알고리즘과 차이점을 설명했다. 설명을 하다보니 왜 그런지에 대한 원리에 대해서 같이 토론하기도 하고, 더 깊이있게 공부할 수 있는 것 같아 만족한다. 재윤님은 코딩이 이번이 처음이라고 하셨는데, 엄청난 학습의지와 열정이 나에게 자극이 되고 있다. 설명을 하면서 더듬은 부분이 많이 있었는데,  앞으로는 재윤님에게 더 쉽게 설명할 수 있도록 준비하면 좋을 것 같다.
  • Office Hour 는 1시간 동안 진행됐고, 중요한 개념을 짚어주는 시간이다. 그리고 실무적인 내용도 가끔씩 나오는데, 오늘은 csv(comma-seperated values) 데이터 를 '\n'과 ','로 split() 을 이용해 원하는 값을 추출하는 내용이 유익했다. 예전에 빅데이터 수업을 들으면서 파이썬으로 많이 해봤던 내용인데, 자바스크립트로 하는 방법도 보니깐 어렵지 않았다.

 

내일 할 일

 

'오늘 한 일을 기록하자 > TIL' 카테고리의 다른 글

201002_TIL  (0) 2020.10.02
200930_TIL  (0) 2020.09.30
200926_TIL  (0) 2020.09.30
200924_TIL  (0) 2020.09.24
200922_TIL 초심으로 돌아가 시작!  (0) 2020.09.22