본문 바로가기
Web/JavaScript

javascript - 내장함수(메서드)2. 인덱스찾기, 슬라이싱, 반복, replace

by 다니엘의 개발 이야기 2022. 11. 24.
320x100

javascript - 내장함수2(인수 넣어서 확인)

 

#1 indexOf(arg)

 

let m = ‘haah’;

이라고 m이 정의되어있을때

m.indexOf(‘h’)

라고 하면 h가 포함된 왼쪽 기준에서 가장 먼저나오는 h를 찾는다

즉 이 케이스에서 리턴값은 0이 나온다.

 

핵심은 arg위치에 들어갈 수 있는 인자는 1개며

m처럼 정의되어있는 변수안에 얼마나 많은 인자로 지정해준 문자가 있든

왼쪽 기준에서 가장 먼저 나오는 인덱스값을 리턴해준다.

 

만약 인자값이 변수안에 없을경우 즉, 찾아도 값이 없는경우에는 -1를 리턴한다.


#1-1

 

찾을때는 꼭 단어적으로 j 이런식으로 한개일 필요는 없다.

jain 이렇게 찾으면 왼쪽 기준으로 가장 먼저 나온 jain이 시작되는 인덱스 값을 리턴한다.


#2 slice(arg)

 

*1 기본적으로 slice의 arg 즉 인자값은 시작값(필수), 마침값(선택) 으로 된다.

그래서 시작값을 5라고 설정하면 인덱스값으로 인식이 되어서 5인덱스에 해당하는 값부터

끝까지 나오게 된다.

 

*2 혹시 마침값을 입력하게 되면 숫자를 입력할경우 자동으로 인덱스로 인식이 된다.

그리고 입력값이 2,10 이라는 의미는

2번 인덱스 부터 시작해서 9번인덱스까지 긁어줘라. 라는 의미가 된다.

즉, 마지막 인덱스값은 포함하지 않는다.

 

let m = ‘haha bla bla’;

라고 정의되어있을때

 

m.slice(5)

라고 하면 출력값은

bla bla가 된다.


#3 replace(A arg, B arg)

 

*1 A arg는 기존의 값을 무엇으로 설정할까에 대한 인수이고

B arg는 A arg위치에 새롭게 들어갈 값을 무엇으로 정의할 것인가. 에 대한 인수이다.

 

*2 접근원리로는 같다. 만약에 엄청 긴 장문의 글이 있는데, 내가 A arg에 lorem, B arg에

babo 라고 입력하게 되면 replace가 달려있는 곳에서 왼쪽을 가장 기준으로 lorem을 찾아주게 되고 그것을 기준으로 B arg로 변경해주게 된다. 얼마나 많은 lorem이 있더라도 말이다.

다시 말하자면 왼쪽을 기준으로 찾기를 시작하는데, 가장 처음에 얻어걸린 것에만 적용이 된다.


#4 replaceAll(A arg, B arg)

 

*1 #3의 replace와 기본동작 원리는 같다. 하지만 replace는 가장 먼저 얻어걸리는 것만 바꾸어주고 끝나는 반면 replaceAll은 replaceAll을 걸쳐놓은 변수든 문자든 뭐든 걸쳐진 그것 안에 있는 모든 A arg에 해당 하는 것을 모두 B arg로 변경해준다.

 

*2 주의점이 있다면 오페라, 인터넷익스플로러, 엣지 등의 브라우저에서는 작동이 안된다고 한다.


#5 repeat(arg)

 

*arg에 들어간 횟수만큼 repeat을 걸쳐놓은 것을 반복해준다.

 

let m = 123123;

이라고 할때

 

m.repeat(2);

라고 입력을 하고나면

 

123123123123

이라고 값이 리턴된다.

300x250