내가 보기 위해 정리한 자바스크립트 methods(splice, split, slice...)
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까지만 나옴…