열정가득한 개발자의 이야기/한땀 한땀 공부 내용 TIL

내가 보기 위해 정리한 자바스크립트 methods(splice, split, slice...)

가문비나무 위의 독수리 2024. 9. 26. 10:05

 

indexOf: 호출한 string객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환. 단,첫 번째 등장 인덱스를 찾을 수 없으면 -1. 또한 대소문자를 구분함

indexOf(찾는 값, 위치)인데 찾는 값의 위치가 변수인 위치보다 더 작으면, 즉 위치를 더 크게 잡으면 이 또한 -1을 반환함

자매품으로 lastIndexOf()도 있음. 이건 같은 문자가 있을 때, 가장 늦게 나온 값의 위치는 반환함

 

indexOf를 사용해서 문자열 내의 특정 문자 숫자 세기

예) 

var str = "To be, or not to be, that is the question.";

var count = 0;

var pos = str.indexOf("e"); //pos는 4의 값을 가집니다.

 

while (pos !== -1) {

  count++;

  pos = str.indexOf("e", pos + 1); // 첫 번째 e 이후의 인덱스부터 e를 찾습니다.

}

 

console.log(count); // 로그에 4를 출력합니다.

 

 

Split()

 => string을 배열로 만들 때, 요긴하게 쓰임

예) let a = str.split(‘’).sort().join(‘’)

 

Splice()

 => 배열에서 원하는 값을 원하는 위치에 삭제하거나 더할 수 있음

예)   array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

item1이라고 되어있는 부분에 마음대로 넣고싶은 값을 넣어도 되고 안 넣어도 됨

delete도 0으로 처리하면 안지우고 원하는 인덱스 값(start)부분에 내가 원하는 (item을 더했다면) 넣을 수 있는 참 편리한 친구임

근데 만약 start에만 값을 넣으면 그 인덱스 위치에서 부터 모든 요소를 제거함

진짜.. 너무 편하다….

 

Slice()

 => slice(첫번째, 두번째) 첫번째는 시작하는 위치, 두번째는 끝나는 위치인데, 이게 좀 헷갈린다.. 끝나는 위치의 앞자리에서 끊는다

예로 const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2, 4));  ==> Expected output: Array ["camel", "duck"]

첫번째 자리의 인덱스 부터 elephant를 제외한 그 앞의 duck까지만 나옴…