JavaScript算法练习:Falsey Bouncer

这篇文章我们主要介绍如何通过JavaScript处理falsy值。将要完成的任务是创建一个函数bouncer(),它接受一个数组arr做为参数,并且删除所有falsy值。

在大数多编程语言中都知道布尔数据类型,它可以设置为truefalse。而在JavaScript中,每个值都有一个固定的布尔值,称之为truthyfalsy。在JavaScript中,我们可以通过逻辑来处理,达到我们预期想要的效果,但如果使用不小心或没有理解清楚,它可能会导致一些问题。

什么情况值是falsy

在JavaScript中,下列值总是falsy:

  • false
  • null
  • undefined
  • NaN
  • 0
  • " "(空字符串)

而其它值总是truthy。包括空的函数、对象、数组或者"0""false"这样的字符串。

一些falsy值表现有所不同,比如nullundefinedNaN。拿NaN为例,虽然它是falsy,但并不表示是其自身,而undefinednull相当于是其自身。

如何检测一个值是不是falsy

检测一个值是不是falsy,在JavaScript中可以使用===!==来比较对象的值和类型。简而言之,任何值,通过逻辑比较,如果返回的值是false,那么它就是一个falsy值,反之是truthy值。

如何删除数组中的falsy值

文章开头已经说过,今天的任务是创建一个bouncer(arr)函数,通过逻辑判断,删除数组中的falsy值。比如:

  • bouncer([7, "ate", "", false, 9])返回[7, "ate", 9]
  • bouncer(["a", "b", "c"])返回["a", "b", "c"]
  • bouncer([false, null, 0, NaN, undefined, ""])返回[]
  • bouncer([1, null, NaN, 2, undefined])返回[1, 2]

实现思路

  • 通过Boolean对象创建一个函数isFalsy(value),判断值value是不是一个f
剩余80%内容付费后可查看
* 请输入阅读码(忘记阅读码?

如需转载,烦请注明出处:https://www.w3cplus.com/javascript/falsy-bouncer-in-javascript.html

如果文章中有不对之处,烦请各位大神拍正。如果你觉得这篇文章对你有所帮助,打个赏,让我有更大的动力去创作。(^_^)。看完了?还不过瘾?点击向作者提问!

赏杯咖啡,鼓励他创作更多优质内容!
返回顶部