Javascriptの勉強をしていて、簡単なアルゴリズムの問題をといていました。
配列からすべての偽の値を削除します。 JavaScriptの偽の値は、false、null、0、 ""、未定義、およびNaNです。 ヒント:各値をブール値に変換してみてください。
bouncerという関数を作り、それは
bouncer([7、 "ate"、 ""、false、9])は[7、 "ate"、9]を返します。
というものです。
私の回答としては
function bouncer(arr) { return arr.filter(x => Boolean(x)); } bouncer([7, "ate", "", false, 9]);
として問題なかったのですが、答えの中に
function bouncer(arr) { return arr.filter(Boolean); }
としているものがあり、なぜ同じように動くのか、ちょっと理解できずにいます。
引数xを省略して、Booleanという関数にxを渡すということを暗黙的にできるのでしょうか?
ここをみてみたのですが、そのような記述がなかったので、どういう論理で動いているのだろう。。と思いまして質問させていただきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/09 01:49 編集
2020/08/09 01:48
2020/08/09 13:24 編集