반응형

 

 

 

 

 

 

 

 

📌 배열의 특정 값 제거하기

  • 배열의 전체 값 제거
  • 배열의 첫번째 값 제거
  • 배열의 역순으로 값 제거
  • 배열의 특정 index 값 제거
  • 배열의 특정 값 제거

 

 

 

 

 

1️⃣ 배열의 전체 값 제거

비어있는 배열 할당

let arr = ['a', 'b', 'c'];

arr = [];

console.log(arr.length); // 0

 

 

 배열의 길이를 0으로 변경 

let arr = ['a', 'b', 'c'];
let arr2 = arr;

arr.length = 0;

console.logn(arr.length); // 0
console.log(arr2.length); // 0

 

 

 

 

🚩 비어있는 배열 할당 vs 배열의 길이를 0으로 변경 

 

위 두 가지 방법은 배열을 참조하는 변수가 있을 경우에 차이점이 있다.

 

비어있는 배열 할당

배열에 비어있는 배열을 새로 할당하는 경우 arr1에는 새로운 배열이 할당되지만,

arr2는 영향을 받지 않고 원래의 배열(=원본)을 참조하게 된다.

 

 

 

 

 

 

배열의 길이를 0으로 변경 

배열의 길이를 0으로 변경하는 경우에는 arr1의 length 값만 0으로 변경하는 것이기 때문에

arr2가 참조하는 배열도 길이가 0이 된다.

 

 

 



 

 

2️⃣ 배열의 첫번째 값 제거

shift( ) 를 사용하여 배열의 첫번째 값을 제거할 수 있다.

let arr = ['a', 'b', 'c'];

arr.shift();

console.log(arr); // ['b', 'c']

 

 

 

 

 

3️⃣ 배열의 역순으로 값 제거

 배열의 길이 지정 

let arr = ['a', 'b', 'c', 'd'];

arr.length = 2;

console.log(arr); // ['a', 'b']

배열의 전체 값을 제거할 때 length를 0으로 설정했던 것과 마찬가지로 배열의 역순으로 값을 제거하고 싶을 때는 원하는 길이만큼 배열의 length 값을 설정하면 그 이후의 값이 제거(=뒤에서부터 짤리게)된다.



 pop() 함수 사용

pop( ) 를 사용하여 배열의 마지막 값을 제거할 수 있다.

let arr = ['a', 'b', 'c', 'd'];

arr.pop();

console.log(arr); // ['a', 'b', 'c']

 

 

 

 

 

4️⃣ 배열의 특정 index 값 제거

splice( ) 는 배열의 특정 위치에 값을 추가하거나 삭제할 때 사용하는 함수이다.

let arr = ['a', 'b', 'c', 'd'];

arr.splice(1, 2);

console.log(arr); // ['a', 'd']

 

arr.splice(1, 2);

→ 배열의 index 1부터 2개의 원소를 삭제

 

 

 

 

 

 

5️⃣ 배열의 특정 값 제거

 반복문과 splice( ) 

반복문과 조건문, splice( ) 를 이용하여 특정값을 제거할 수 있다.

 

* splice( ) 를 사용해서 값을 제거하면 배열의 길이가 변하기 때문에 i의 값을 감소시키는 것(i--)에 주의

let arr = ['a', 'b', 'b', 'c'];

for(let i = 0; i < arr.length; i++) {
  if(arr[i] === 'b')  {
    arr.splice(i, 1);
    i--;
  }
}

console.log(arr); // ['a', 'c']

 

 

 filter( ) 

filter( ) 는 특정 조건에 부합하는 값을 모아서 새로운 배열을 만들어서 리턴한다.

let arr = ['a', 'b', 'b', 'c'];

let filtered = arr.filter((element) => element !== 'b');

console.log(arr); // ['a', 'b', 'b', 'c']
console.log(filtered); // ['a', 'c']

 

 

 

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기