Skip to main content

--description--

Remove all falsy values from an array. Return a new array; do not mutate the original array.

Falsy values in JavaScript are false, null, 0, "", undefined, and NaN.

Hint: Try converting each value to a Boolean.

--hints--

bouncer([7, "ate", "", false, 9]) should return [7, "ate", 9].

assert.deepEqual(bouncer([7, 'ate', '', false, 9]), [7, 'ate', 9]);

bouncer(["a", "b", "c"]) should return ["a", "b", "c"].

assert.deepEqual(bouncer(['a', 'b', 'c']), ['a', 'b', 'c']);

bouncer([false, null, 0, NaN, undefined, ""]) should return [].

assert.deepEqual(bouncer([false, null, 0, NaN, undefined, '']), []);

bouncer([null, NaN, 1, 2, undefined]) should return [1, 2].

assert.deepEqual(bouncer([null, NaN, 1, 2, undefined]), [1, 2]);

You should not mutate arr.

const arr = ['a', false, 0, 'Naomi'];
bouncer(arr);
assert.deepEqual(arr, ['a', false, 0, 'Naomi'])

--seed--

--seed-contents--

function bouncer(arr) {
return arr;
}

bouncer([7, "ate", "", false, 9]);

--solutions--

function bouncer(arr) {
return arr.filter(e => e);
}

bouncer([7, "ate", "", false, 9]);