JavaScript의 배열 메서드와 splice
메서드
JavaScript의 배열은 다양한 내장 메서드를 통해 데이터 관리를 쉽게 수행할 수 있습니다. 이 중 splice
는 배열의 일부를 삭제하거나 추가하는 데 유용합니다. 이 글에서는 splice
를 포함한 다양한 배열 메서드를 살펴보겠습니다.
splice
메서드splice
는 배열의 일부를 삭제하거나, 대체하거나, 새 요소를 추가하는 다목적 메서드입니다.
구조: array.splice(startIndex, deleteCount, item1, item2, ...)
startIndex
: 변경이 시작될 인덱스deleteCount
: 삭제할 요소의 수item1, item2, ...
: 추가할 요소예시:
let fruits = ['apple', 'banana', 'orange', 'mango'];
// 삭제만 하기
let removed = fruits.splice(1, 2);
console.log(fruits); // ['apple', 'mango']
console.log(removed); // ['banana', 'orange']
// 삭제 및 추가하기
fruits = ['apple', 'banana', 'orange', 'mango'];
let replaced = fruits.splice(1, 2, 'kiwi', 'grape');
console.log(fruits); // ['apple', 'kiwi', 'grape', 'mango']
console.log(replaced); // ['banana', 'orange']
push
: 배열의 끝에 요소를 추가합니다.
let numbers = [1, 2];
numbers.push(3);
console.log(numbers); // [1, 2, 3]
pop
: 배열의 마지막 요소를 제거하고 반환합니다.
let numbers = [1, 2, 3];
let last = numbers.pop();
console.log(numbers); // [1, 2]
console.log(last); // 3
shift
: 배열의 첫 요소를 제거하고 반환합니다.
let numbers = [1, 2, 3];
let first = numbers.shift();
console.log(numbers); // [2, 3]
console.log(first); // 1
unshift
: 배열의 앞부분에 요소를 추가합니다.
let numbers = [2, 3];
numbers.unshift(1);
console.log(numbers); // [1, 2, 3]
slice
: 배열의 일부를 추출하여 새 배열을 생성합니다.
let fruits = ['apple', 'banana', 'orange', 'mango'];
let subArray = fruits.slice(1, 3);
console.log(subArray); // ['banana', 'orange']
map
: 배열의 각 요소에 함수 로직을 적용하여 새 배열을 반환합니다.
let numbers = [1, 2, 3];
let squared = numbers.map(num => num * num);
console.log(squared); // [1, 4, 9]
filter
: 조건을 만족하는 요소만을 추출하여 새 배열을 만듭니다.
let numbers = [1, 2, 3, 4, 5];
let evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4]
reduce
: 배열을 순회하며 누적 값을 생성합니다.
let numbers = [1, 2, 3, 4];
let sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 10
forEach
: 각 요소에 대해 제공된 함수를 실행합니다.
let fruits = ['apple', 'banana', 'orange'];
fruits.forEach(fruit => console.log(fruit));
JavaScript의 배열 메서드는 데이터를 효율적으로 관리하는 데 유용합니다. splice
를 비롯한 다양한 메서드를 사용하여 배열을 효율적으로 조작하세요.