关于javascript:如何在-JS-中判断数组是否包含指定的元素多种方法

36次阅读

共计 1635 个字符,预计需要花费 5 分钟才能阅读完成。

作者:Abhilash Kakumanu
译者:前端小智
起源:medium

最近开源了一个 Vue 组件,还不够欠缺,欢送大家来一起欠缺它,也心愿大家能给个 star 反对一下,谢谢各位了。

github 地址:https://github.com/qq44924588…

简介

数组是咱们编程中常常应用的的数据结构之一。在解决数组时,咱们常常须要在数组中查找特定的值,JavaScript 蕴含一些内置办法来查看数组是否有特定的值或对象。

明天,咱们来一起看看如何查看数组是否蕴含特定值或元素。

查看数组是否蕴含一个根本类型的值

Arrya.includes() 办法

查看数组值的最简略办法是应用 include() 办法,如下所示:

let animals = ["????", "????", "????", "????"]

animals.includes("????") // true
animals.includes("????") // false

该函数返回一个布尔值,示意该值是否存在。

Arrya.indexOf() 办法

在须要查找的元素的确切地位的状况下,能够应用 indexOf(elem) 办法,该办法在指定的数组中查找 elem 并返回其第一次呈现的索引,如果数组不蕴含 elem 则返回-1

例如,咱们能够在蕴含 grade 的数组中查找第一次呈现的 grade:

let grades = ["B", "D", "C", "A"]

grades.indexOf("A") // 3
grades.indexOf("F") // -1

在第一个实例中,元素呈现,并返回其地位,在第二个实例中,返回值示意元素不存在。

咱们能够应用它来轻松地扭转代码流

let grades = ["B", "D", "C", "A"]

if (grades.indexOf("F") >= 0) {console.log("元素存在");
} else {console.log("元素不存在");
}

查看对象数组是否蕴含对象

some() 办法

在搜寻对象时,include()查看提供的对象援用是否与数组中的对象援用匹配。这不是咱们想要的,因为对象能够有雷同的字段和相应的值,但援用不同。

咱们能够应用 some() 办法依据对象的内容进行搜寻。some()办法承受一个参数,承受一个回调函数,对数组中的每个值执行一次,直到找到一个满足回调函数设置的条件的元素,并返回true

为了更好地了解它,让咱们看看一些 some()的理论利用

let animals = [{name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"}]
let element = {name: "monkey"}

animals.some(animal => animal.name === element.name)

回调函数在前两种状况下返回 false,但在第三个状况下返回 true,因为名称匹配。尔后,some()暂停执行并返回 true

总结

在本文中,咱们介绍了在 JavaScript 中查看数组是否蕴含指定值的几种办法。

咱们曾经介绍了 include() 函数,它会在值存在时返回一个布尔值。函数的作用是: 如果值存在,则返回该值的索引; 如果不存在,则返回-1

最初,对于对象,some()函数可帮忙咱们依据对象的内容搜寻对象的存在。

我是小智,我要去刷碗了,咱们下期再见!


代码部署后可能存在的 BUG 没法实时晓得,预先为了解决这些 BUG,花了大量的工夫进行 log 调试,这边顺便给大家举荐一个好用的 BUG 监控工具 Fundebug。

原文:https://stackacabuse.com/java…

交换

文章每周继续更新,能够微信搜寻「大迁世界」第一工夫浏览和催更(比博客早一到两篇哟),本文 GitHub https://github.com/qq449245884/xiaozhi 曾经收录,整顿了很多我的文档,欢送 Star 和欠缺,大家面试能够参照考点温习,另外关注公众号,后盾回复 福利,即可看到福利,你懂的。

正文完
 0