检查数组是否包含 JavaScript 中的值

我们经常发现自己处于检查数组是否包含 JavaScript 中的值的情况。尽管可以使用循环使用基本的 JavaScript 语法对搜索功能进行编码,但最好了解 JavaScript 中可用于数组搜索的内置功能、它们的用法、返回类型和行为。它使我们的任务更容易,因为我们需要更少的代码。通过内置功能,该功能将变得高效且不易出错。让我们看看在数组中搜索元素的方法。

1.在JavaScript 中使用.indexOf()函数检查数组是否包含值

 该indexof()函数是javascript中常用的函数。它在搜索数组甚至字符串中的元素时效果很好。

 句法

indexOf(element, index)

范围
 它将要搜索的元素作为参数。还有一个可选参数告诉函数,必须从哪里开始搜索(从 开始0)的索引。如果我们提供一个负值,则意味着从指定位置的数组末尾开始搜索。

 返回值

0如果可以找到该元素,则该函数返回从数组中开始的搜索元素的索引。否则,它将返回-1,表明它找不到该元素。如果数组中有多个匹配项,则该.indexOf()函数将返回第一个匹配项的索引。 

浏览器支持
.indexOf()所有主要浏览器版本均支持该功能。 

用法 

indexOf()函数在数组上的用法如下。 

let fruits = ["Apple", "Mango", "Pear", "Peach"];
console.log(fruits.indexOf("Pear"));
console.log(fruits.indexOf("Tomato"))

 输出:

2
-1

 对于搜索功能,我们检查 的返回类型.indexOf(searchText)是否大于-1。如果是这样,那么搜索结果应该是trueelse false。让我们看一下上面讨论的相同示例,以检查数组中是否存在元素。

function isFruit(fruitName) {
    let fruits = ["Apple", "Mango", "Pear", "Peach"];
    if(fruits.indexOf(fruitName) > -1) {
        return true;
    } else {
        return false;
    }
}
isFruit("Pear");
isFruit("Cat");

输出: 

true
false

 2.在JavaScript 中使用.includes()函数检查数组是否包含值

JavaScript的includes()功能检查给定元素是否存在于数组中。它返回一个布尔值。因此,它最适合if条件检查。 

句法 

includes(keyword)
includes(keyword, index)

 范围

该函数有两个参数。通常,我们以 形式使用此功能.includes(searchString)searchString参数是我们希望搜索的元素,参数是指要搜索的index数组索引。该index参数是可选的 

 返回值

.includes()true如果searchString找到 是数组的元素,则返回。如果未找到,则该函数返回 false。 

浏览器支持 

.includes()功能适用​​于除 Internet Explorer 之外的几乎所有网络浏览器。因此,如果您的项目在 IE 上受支持,您可能必须使用该indexOf()功能。 

用法 

让我们看看在includes()数组中应用  

let fruits = ["Apple", "Mango", "Pear", "Peach"];
console.log(fruits.includes("Pear"));
console.log(fruits.includes("Tomato"))

 输出:

true
false

 该includes()函数可以直接在if条件中使用,因为它返回一个布尔值作为输出。上面的例子可以有条件地使用,if如下所示。请注意,此代码可能无法在 IE 中运行,因为.includes()它不受支持。

function isFruit(fruitName) {
    let fruits = ["Apple", "Mango", "Pear", "Peach"];
    if(fruits.includes(fruitName)) {
        return true;
    } else {
        return false;
    }
}
isFruit("Pear");
isFruit("Cat");

 输出:

true
false

3.在JavaScript中使用.find()函数在数组中查找元素

检查数组中是否存在元素的另一种方法是使用.find()函数。与.indexOf()and.includes()函数相比,.find()将函数作为参数并在数组的每个元素上执行它。它将返回参数函数中提到的条件满足的第一个值。 

句法 

.find((keyword) => { /* Some condition checks */} )
.find((keyword, index) => { /* Some condition checks */} )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值