arr.slice([begin[, end]])어떤 배열의 begin부터 end까지(end는 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환한다
- 추출한 요소를 포함한 새로운 배열 반환
- 원본배열은 바뀌지 않음 주의!
- 인수로 전달된 범위의 요소들을 복사하여 배열로 반환
- 2개의 매개변수를 갖음
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
end는 생략가능
하지만 생락 시 (기본값은 length)마지막 요소까지 반환한다
console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]
end는 복사를 종료할 인덱스로 복사본에 남지 않는다
console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]
console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]
음수 인덱스는 배열의 끝에서부터의 길이를 나타낸다
console.log(animals.slice(-2));
// expected output: Array ["duck", "elephant"]
console.log(animals.slice(2, -1));
// expected output: Array ["camel", "duck"]
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])원본 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경한다
- 수정이 이루어진 요소를 담은 배열을 반환
- 배열의 중간에 요소를 추가하거나, 중간에 있는 요소를 제거하는 경우 사용
- 매개변수 3개start (배열의 변경을 시작할 인덱스 / 음수인 경우 배열의 끝에서부터 요소를 세어나감),deleteCount
Optional(배열에서 제거할 요소의 수),item1, item2, ...Optional(배열에 추가할 요소)
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// inserts at index 1
// deleteCount = 0 이기때문에 삭제할 요소 없음
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, 'May');
// replaces 1 element at index 4
// deleteCount = 1 이기때문에 시작 인덱스부터 요소하나 삭제함
console.log(months);
// expected output: Array ["Jan", "Feb", "March", "April", "May"]
str.split([separator[, limit]])String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눔
- 주어진 문자열을 separator마다 끊은 부분 문자열을 담은 배열을 반환 (문자열을 배열로 변환)
- 매개변수 2개separator
Optional(원본 문자열을 끊어야 할 부분을 나타내는 문자열을 나타냄)limitOptional(끊어진 문자열의 최대 개수를 나타내는 정수) / 선택사항
const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' ');
console.log(words[3]);
// expected output: "fox"
const chars = str.split('');
console.log(chars[8]);
// expected output: "k"
const strCopy = str.split();
console.log(strCopy);
// expected output: Array ["The quick brown fox jumps over the lazy dog."]