indexOf(), slice(), substring(), substr(), trim()

OwlSuri·2022년 7월 8일
0

JavaScript

목록 보기
4/9

indexOf(text) : text가 있는 인덱스를 알려줌. 없으면 -1 반환

let desc = "Hi guys. Nice to meet you."
desc.indexOf('to'); //14
desc.indexOf('man'); // -1

indexOf를 if문에서 사용할때 주의!!

if(desc.indexOf('Hi')){
	console.log('Hi가 포함된 문장 입니다.');
}

라고 하면 'Hi가 포함된 문장 입니다.'를 콘솔에서 볼 수 없다.
desc.indexOf('Hi') 는 맨앞 인덱스이기 때문에 0이고
if(0)은 false이므로 문장을 실행하지 않기때문!

if(desc.indexOf('Hi') > -1){
	console.log('Hi가 포함된 문장 입니다.');
}

이렇게 표현해줘야 true가 된다.

🤔 includes는 true, false값을 반환하므로 if문에는 더 직관적일지도..!

slice(n,m) : n은 시작점, m은 끝점(없으면 문자열 끝까지, 양수면 그 숫자까지-포함x, 음수면 끝에서부터 셈)

let desc = "abcdefg"

desc.slice(2) //cdefg
desc.slice(0,5) //abcde
desc.slice(2,-2) //cde

str.substring(m,n) : m,n사이의 문자열 반환, m과 n을 바꿔도 동작함, 음수는 0으로 인식

let desc = "abcdefg"

desc.substring(2,5) //"cde"
desc.substring(5,2) //"cde"

str.substr(m,n) : m부터 시작, n개를 가져옴

let desc = "abcdefg"

desc.substr(2,4) //"cdef"
desc.substr(-4,2) //"de"

str.trim() : 앞뒤 공백제거

let desc = "  coding     "

desc.trim() // "coding"

str.repeat(n) : n번 반복

let hello = "hello!"

hello.repeat(3) // "hello!hello!hello!"

문자열의 비교 : ASCII code

"a".codePointAt(0) //97
String.fromCodePoint(97) //"a"

예제

let list = [
	"01. 들어가며",
	"02. JS의 역사",
  	"03. 자료형",
  	"04. 함수",
  	"05. 배열",
]

let newList = []

for(let i=0; i<list.length; i++){
  newList.push(list[i].slice(4)) 
}
console.log(newList) // ["들어가며","JS의 역사","자료형","함수","배열"]
profile
기억이 안되면, 기록을 -

0개의 댓글