Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 배열에서 '0', 'undefined' 및 빈 값 제거하는 방법

JavaScript 배열에서 0, undefined 및 빈 값('')처럼 거짓 같은(falsy) 값을 제거하려면 splice() 메서드를 활용해야 합니다. splice()는 배열의 특정 위치에서 요소를 삭제하거나 교체할 수 있는 강력한 내장 메서드입니다.

예를 들어 다음과 같은 배열이 있다고 가정해 보겠습니다.

var allValues = [10, false, 100, 150, '', undefined, 450, null]

for 루프와 splice()를 활용한 예제

다음은 for 루프와 splice()를 함께 사용하여 거짓 같은 값을 모두 제거하는 전체 코드입니다.

var allValues = [10, false, 100, 150, '', undefined, 450, null]
console.log("원본 배열=");
console.log(allValues);
for (var index = 0; index < allValues.length; index++) {
    if (!allValues[index]) {
        allValues.splice(index, 1);
        index--;
    }
}
console.log("false, undefined, null 또는 '' 등 제거 후=");
console.log(allValues);

코드 설명: 조건문의 !allValues[index]는 해당 요소가 거짓 같은 값인지 검사합니다. JavaScript에서 false, null, undefined, 빈 문자열(''), 0, NaN은 모두 falsy 값으로 평가되므로 별도의 조건 없이도 자동으로 제거 대상이 됩니다. 또한 요소를 삭제한 직후 index--를 실행하는 이유는, splice()로 요소가 제거되면 뒤에 있던 요소들이 한 칸씩 앞으로 이동하기 때문입니다. 인덱스를 조정하지 않으면 일부 요소를 건너뛰게 될 수 있습니다.

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo88.js라고 가정합니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo88.js
원본 배열=
[ 10, false, 100, 150, '', undefined, 450, null ]
false, undefined, null 또는 '' 등 제거 후=
[ 10, 100, 150, 450 ]

실행 결과를 보면 false, undefined, null, 빈 문자열이 모두 제거되고 유효한 숫자 값만 남아 있는 것을 확인할 수 있습니다. 이 방식은 API 응답 데이터나 사용자 입력값을 정리할 때 유용하게 활용할 수 있습니다.