ryxxn

[javascript] 배열 내 특정 값 삭제하기 본문

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]