JavaScript - 배열에서 빈 값, undefined, null 제거하기

배열에 빈 문자열이나, undefined, null, 빈 요소가 포함될 수 있습니다. 배열에서 이런 요소들을 제거하는 방법을 소개합니다.

1. 배열에서 undefined 제거

배열에 undefined가 요소로 포함될 수 있는데, 아래와 같이 filter()를 사용하여 제거할 수 있습니다. 요소를 순회하면서 undefined가 일치하는 요소들만 필터링하여 제거합니다.

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => element !== undefined);

console.log(newArr);

Output:

[ 4, 2, 5, null, 8, '' ]

2. 배열에서 null 제거

배열에서 undefined 뿐만 아니라 null도 제거하려면, 아래와 같이 filter()에서 null도 비교하여 필터링하면 됩니다.

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => {
  return element !== undefined && element !== null;
});

console.log(newArr);

Output:

[ 4, 2, 5, 8, '' ]

아래와 같이 element != null를 사용하여 undefined와 null을 함께 제거할 수도 있습니다.

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => {
  return element != null;
});

console.log(newArr);

Output:

[ 4, 2, 5, 8, '' ]

3. 배열에서 빈 문자열 제거

undefined와 null 뿐만 아니라, 빈 문자열도 제거하려면 filter()에 조건을 추가하여 제거할 수 있습니다.

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => {
  return element !== undefined && element !== null && element !== '';
});

console.log(newArr);

Output:

[ 4, 2, 5, 8 ]

4. 배열에서 빈 요소 제거

자리만 차지하는 빈 요소가 배열에 포함될 수도 있습니다.

아래 예제처럼 filter(() => true)으로 빈 요소들을 제거할 수 있습니다.

let arr = [4, , 5, , undefined, '', , ,];
console.log(arr);

let newArr = arr.filter(() => true);
console.log(newArr);

Output:

[ 4, <1 empty item>, 5, <1 empty item>, undefined, '', <2 empty items>]
[ 4, 5, undefined, '' ]
Loading script...
codechachaCopyright ©2019 codechacha