원본 배열 자체를 수정하는 메서드로 사용할 때에는 원본 값이 변경되므로 주의하여야 하며, 미리 원본 값을 변수에 할당해둬야 한다.
1. push() - 배열의 마지막부터 요소를 더한다.
2. pop() - 배열의 마지막부터 요소를 뺀다.
3. unshift() - 배열의 앞에서부터 요소를 더한다.
4. shift() - 배열의 앞에서부터 요소를 뺀다.
_unshift, shift 의 경우 앞에서 요소를 더하거나 빼기 때문에 전체 요소가 움직이게 되어 동작 시간이 많이 걸린다 되도록 push나 pop을 쓰는 것이 좋다_
5. fill() - 배열의 지정한 위치에 요소를 더한다.
arr.fill(value, startIndex, endIndex)
· value: 배열을 채울 값
· startIndex: 더하기 시작할 인덱스. <필수X>
· endIndx: 해당 인덱스 전까지 실행한다. <필수X>
· 반환값: 더하고 난 후의 결과로 나온 배열
let animals = ["dog", "cat", "fox", "pig"];
/* index 1 ~ index 2*/
console.log(animals.fill("lion", 1, 3)); // ["dog", "lion", "lion", "pig"]
/* index 2 ~ */
console.log(animals.fill("cow", 2)); // ["dog", "lion", "cow", "cow"]
/* all */
console.log(animals.fill("wolf")); // ["wolf", "wolf", "wolf", "wolf"]
6. revers() - 배열의 순서를 반전시킨다.
arr.reverse()
· 반환값: 순서가 반전된 배열이 반환됨.
let num = [1, 2, 3, 4, 5];
console.log(num.reverse()); // [5, 4, 3, 2, 1]
console.log(num.reverse()); // [1, 2, 3, 4, 5]
코드를 입력하세요
7. sort() - 배열의 요소를 정렬한다.
arr.sort(compareFunction)
· compareFunction: 함수를 통해 원소들의 우선순위를 판단한다. 생략시 아스키코드 순서를
기준으로 정렬한다. <필수X>
· 반환값: 정렬된 배열을 리한다
/* #1 문자열 정렬*/
let fruit = ["banana", "apple", "coconut", "kiwi"];
/* 내림차순 방법1: reverse() 사용 */
console.log(fruit.sort().reverse()); // ["apple", "banana", "coconut", "kiwi"]
/* 오름차순으로 정렬 */
console.log(fruit.sort()); // ["apple", "banana", "coconut", "kiwi"]
/* 내림차순 방법2: 문자열 내림차순 함수 */
function compStringReverse(a, b) {
if (a > b) return -1;
else if (b > a) return 1;
else return 0;
}
console.log(fruit.sort()); // ["kiwi", "coconut", "banana", "apple"]
/* #2 숫자 정렬 */
let num = [1, 40, 5, 20, 1000];
console.log(num.sort()); // [1, 1000, 20, 40, 5] :: 아스키코드순
console.log(num.sort((a,b) => a - b); // [1, 5, 20, 40, 1000] :: 오름차순
console.log(num.sort((a,b) => b - a); // [1000, 40, 20, 5, 1] :: 내림차순
8. splice() - 배열의 특정 구간을 추출 혹은 추가한다.
array.splice(startIndex, deleteCount, item1, item2, ...)
·startIndex: 배열 변경을 시작할 인덱스(위치).
·deleteCount: 배열에서 제거할 요소의 수. <필수X>
·item: 배열에 추가할 요소들. <필수X>
반환값: 추가 또는 삭제한 배열을 반환한다. 빈 인자를 주면 빈 배열을 반환한다.
·원본 배열에는 추출되고 남은 값들만 남게된다.
/* index 2 부터 끝까지 추출 */
let num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(num.splice(2)); // [2, 3, 4, 5, 6, 7, 8, 9]
console.log(num); [0, 1] // 남겨진 원본 값
/* index 2부터 4개 추출 */
let num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(num.splice(2, 4)); // [2, 3, 4, 5]
/* index 2부터 4개를 추출하면서, 그 값들을 Item으로 변경 */
let num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(num.splice(2, 4, 'two', 'three', 'four', 'five')); // [2, 3, 4, 5]
console.log(num) // [0, 1, "two", "three", "four", "five", 6, 7, 8, 9]
cs
좋은글 감사합니다 :)