龙空技术网

「简单数组元素」判断数组中是否包含某个元素的正确搞法

小郑搞码事 604

前言:

当前小伙伴们对“js数组中是否包含某个数”大概比较注重,朋友们都想要了解一些“js数组中是否包含某个数”的相关知识。那么小编在网摘上搜集了一些有关“js数组中是否包含某个数””的相关文章,希望姐妹们能喜欢,各位老铁们快快来学习一下吧!

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

JavaScript是一种非常灵活的语言,本身也存在一些设计的相当糟糕的地方,新的标准方法也在不断更新和填补老标准的坑。

今天来讲一个很常见的问题:"判断数组中是否包含某个元素",只相对于简单数组的情况,而对于复杂的数组(比如,数组元素是一个JSON格式,判断是否存在)下一篇来搞,这个问题恐怕是我们日常工作代码中经常要考虑的。

一、需要索引值

然而,我们的通常解决办法是使用Array.indexOf。如下

const names = [ '小', '小郑', '小郑搞', '小郑搞码', '小郑搞码事' ]console.log(names.indexOf('小郑')) // 1

看着并没有什么问题,通过索引来判断是否存在,返回的是索引值。存在的时候索引值最小为0。如果代码中我们又刚刚需要知道这个元素存在的索引值,那么这对于简单数组无疑是好的方法。

二、不需要索引值

但是,大部分情况下,我们只想知道数组是否包含某个值。这一个看就是一个是与否的问题,返回布尔值似乎是最好的选择。所以,我们可以使用Array.includes。如下

console.log(names.includes('小郑')) // true

最后总结:

还有一种复杂数组的情况,就是当数据元素是一个JSON格式:{id:2,name:'xx'}。该如何正确判断了。下一篇来讲一下。

标签: #js数组中是否包含某个数