Problem Explanation:
Remove all falsy values from an array.
Hint: 1
Falsy is something which evaluates to FALSE. There are only six falsy values in JavaScript: undefined, null, NaN, 0, "" (empty string), and false of course.
Hint: 2
We need to make sure we have all the falsy values to compare, we can know it, maybe with a function with all the falsy values...
Hint: 3
Then we need to add a filter()
with the falsy values function...
Spoiler Alert!
Solution ahead!
Solution Code:
function bouncer(arr) {
// Don't show a false ID to this bouncer.
// I've a hammer fist.
return arr.filter(Boolean);
}
function bouncer(arr) {
function isTruthy(arg) {
return Boolean(arg);
}
var filteredArray = arr.filter(isTruthy);
return filteredArray;
}
function bouncer(arr) {
arr = arr.filter(function(element){
return Boolean(element);
});
return arr;
}
Code Explanation:
The Array.prototype.filter
method expects a function that returns a Boolean
value which takes a single argument and returns true
for truthy value or false
for falsy value. Hence we pass the built-in Boolean
function. The second solution replaces the array in-place, and utilises an anonymous function as the callback for the filter
method. This avoids polluting the global scope with a single-use function, and makes our code more concise.
Credits:
If you found this page useful, you can give thanks by copying and pasting this on the main chat: Thanks @renelis @abhisekp @Rafase282 for your help with Algorithm: Falsy Bouncer
NOTE: Please add your username only if you have added any relevant main contents to the wiki page. (Please don't remove any existing usernames.)