하고 싶은 일 | 사용할 메서드 | 원본수정,사본 반환 여부 |
---|---|---|
배열 element 조작 | ||
*스택 | push(바뀐 길이 반환),pop | 원본 수정 |
*큐 | unshift(바뀐 길이 반환),shift | 원본 수정 |
여러 요소를 배열 마지막에 추가 | concat | 사본 반환 |
*배열의 일부 | slice | 사본 반환 |
임의의 위치에 요소 추가,제거 | splice | 원본 수정 |
배열 안에서 요소 교체 | copyWithin | 원본 수정 |
배열을 채울 때 | fill | 원본 수정 |
*배열을 반대로 정렬 | reverse | 원본 수정 |
*배열을 정렬 | sort(비교함수 추가가능) | 원본 수정 |
배열 검색 | ||
*요소의 인덱스 | indexOf(단순한값),findIndex(복잡한값) | |
인덱스를 뒤에서 찾을 때 | lastIndexOf(단순한 값) | |
*요소 자체 | find | |
조건을 만족하는 요소가 들어있는지 확인 | some | |
모든 요소가 조건을 만족하는지 확인 | every | |
배열 변형 | ||
*배열의 모든 요소를 변경할 때 | map | 사본 반환 |
조건에 맞는 요소만 남길 때 | filter | 사본 반환 |
배열 전체를 다른 데이터 타입으로 변형할 때 | reduce | 사본 반환 |
*요소를 문자열로 바꿔서 하나로 합칠 때 | join | 사본 반환 |
해당 요소의 인덱스를 return한다. 없으면 -1을 return
파라미터 : .indexOf(찾을 요소, optional: 어느 인덱스부터 찾을지)
const subject = ['math', 'social', 'korean', 'english', 'physic'];
console.log(subject.indexOf('social'));
// expected output: 1
// 검색을 인덱스 2번째 부터 시작한다.
console.log(subject.indexOf('physic', 2));
// expected output: 4
console.log(beasts.indexOf('japanese'));
// expected output: -1
문자열을 배열로 쪼개준다. 기본 한개씩으로 쪼갤땐 파라미터에 '', 다르게 쪼개려면 토크나이저를 파라미터로 넣어준다.
const str = 'abcd';
str.split(''); // ["a","b","c","d"]
const str1 = 'ab cd';
str1.split(' ') //[ab,cd]
const str2 = '2/28'
const test = str2.split('/'); //[2, 28];
test.join('/'); // "2/28"
문자열의 일부를 추출, 새로운 문자열을 반환한다.
slice(시작인덱스, 끝 인덱스(->해당인덱스의 숫자는 포함하지 않는다))
const str = 'abcd';
let value = str.slice(0,1); // a
let val = str.slice(-1); // d