Dev./javascript

[JS] 배열에서 falsy한 값 제거하기

인쥭 2021. 11. 5. 16:47
반응형
const before = [1, 2, 3, 0, false, true, undefined, null, {}];
console.log(`before: ${before} and length is ${before.length}`);

function removeFalsy(elements = []) {
    return elements.filter(elem => elem);
}

const after = removeFalsy(before);
console.log(`after: ${after} and length is ${after.length}`);

/* 실행 결과
before: 1,2,3,0,false,true,,,[object Object] and length is 9
after: 1,2,3,true,[object Object] and length is 5
*/
  • [].filter(e => e);로 간단하게 제거할 수 있다.
  • 가독성이 좀 떨어질 수도 있을 듯. 처음 봤을 땐 왜 e => e로 필터링하는지 몰랐음!