javascript
[javascript] 배열 내 특정 값 삭제하기
drxxn
2023. 7. 29. 23:00
- 목차
1. filter() 메소드를 이용한 값 삭제
filter() 메소드를 사용하면 특정 값을 제외한 새로운 배열을 생성할 수 있다. 원하는 값을 삭제하고 싶다면 해당 값을 제외하도록 filter() 메소드를 활용할 수 있다.
※ filter() 메소드를 사용하면 원본 배열은 변경하지 않고 원하는 값을 삭제한 새로운 배열을 생성할 수 있다.
const numbers = [1, 2, 3, 4, 5];
// 값이 3인 요소를 삭제하고 새로운 배열 생성
const filteredNumbers = numbers.filter((num) => num !== 3);
console.log(filteredNumbers); // [1, 2, 4, 5]
※ object 배열에서도 사용할 수 있다.
const users = [{name: "john", age: 12}, {name: "james", age: 20}];
// 이름이 james인 object를 삭제하고 새로운 배열 생성
const filterdUsers = users.filter((user) => user.name !== "james");
console.log(filteredUsers); // [{name: "john", age: 12}]
2. splice() 메소드를 이용한 값 삭제
splice() 메소드를 사용하면 배열에서 특정 위치에 있는 값을 제거할 수 있다. 첫 번째 매개변수로 시작 인덱스를, 두 번째 매개변수로 삭제할 요소의 개수를 지정한다.
※ splice() 메소드를 사용하면 원본 배열을 직접 수정할 수 있다.
const numbers = [1, 2, 3, 4, 5];
// 인덱스 2부터 1개의 요소 삭제
numbers.splice(2, 1);
console.log(numbers); // [1, 2, 4, 5]
3. 스프레드 연산자를 이용한 값 삭제
스프레드 연산자를 사용하여 특정 값을 제외한 새로운 배열을 생성할 수 있습니다.
const numbers = [1, 2, 3, 4, 5];
// 값이 3인 요소를 삭제하고 새로운 배열 생성
const filteredNumbers = [...numbers.slice(0, 2), ...numbers.slice(3)];
console.log(filteredNumbers); // [1, 2, 4, 5]
4. pop() 또는 shift() 메소드를 이용한 값 삭제
pop() 메소드는 배열의 끝에서부터 값을 제거하고, shift() 메소드는 배열의 첫 번째 요소부터 값을 제거합니다.
const numbers = [1, 2, 3, 4, 5];
// 배열의 끝에서부터 값을 제거
numbers.pop();
console.log(numbers); // [1, 2, 3, 4]
// 배열의 첫 번째 요소부터 값을 제거
numbers.shift();
console.log(numbers); // [2, 3, 4]