在上一篇文章中我们介绍了JavaScript返回满足给定条件首个元素的3种方法,感兴趣的可以点击链接进行查阅→《JS数组学习之返回满足给定条件的首个元素》。这次我们继续JavaScript数组的学习,来聊聊利用JS怎么检测指定值在数组中是否存在,有需要的朋友可以学习了解一下~

今天本文的主要内容是:给定一个值,遍历数组,检查数组是不是包含该值。简单来说,检查数组中是不是有一个或多个数组元素的值等于该值。

下面本文会带大家了解4种方法,通过代码示例来给大家具体介绍的。废话不多说,直接开始~

方法1:利用for循环

实现思想:利用for语句来遍历数组,在每次循环中利用===判断数组元素是否为给定值,当有第一个元素满足条件,则数组中存在给定元素,给出提示,然后使用break语句退出整个循环。

下面通过实例来具体了解一下:判断fruits数组中是否包含给定元素“榴莲”

var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
for(var i=0;i<fruits.length;i++){
	if (fruits[i] === "榴莲") {
		console.log("指定元素‘ "+fruits[i]+" ’是存在的");
		break;
	}
}

输出结果为:

1.png

方法2:利用数组的includes() 方法

includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

语法:arr.includes(searchElement [, fromIndex])

  • searchElement 必须。需要查找的元素值。

  • fromIndex 可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。

下面通过实例来具体了解一下:判断fruits数组中是否包含给定元素“榴莲”

var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
if(fruits.includes('榴莲')){
	console.log("给定元素是存在的");
}else{
	console.log("给定元素是不存在的");
}

输出结果为:

2.png

方法3:利用数组的some()方法

some()方法可以检测数组中是否存在符合条件的元素。换个角度思考,也可以用来检测数组中的所有元素是否都不符合指定条件,都不符合的话就返回 false,有一个或者多个符合的话就返回 true。

语法:array.every(function callbackfn(Value,index,array),thisValue)

下面通过实例来具体了解一下:

function f(value, index, ar) {
    if (value === '橘子') {
        return true;
    }
}
var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.some(f);

if (b) {
	console.log("给定元素是存在的");
} else {
	console.log("给定元素是不存在的");
}

输出结果为:

给定元素是存在的

方法4:利用数组的indexOf()方法

indexOf() 方法可返回数组中某个指定元素的第一次出现位置。如果要检索的元素没有出现,则该方法返回 -1。

实现思想:利用该方法检查指定值在数组的第一次出现位置,如果位置是存在的,则包含该给定元素。如果返回-1,则不包含该给定元素。

下面给出实现代码:

var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.indexOf("橘子");

if (b>0) {
	console.log("给定元素是存在的");
} else {
	console.log("给定元素是不存在的");
}

输出结果为:

给定元素是存在的

方法5:利用数组的lastIndexOf()方法

lastIndexOf()方法可搜索数组中的元素,并返回它最后出现的位置。如果要检索的元素没有出现,则该方法返回 -1。

实现思想:利用该方法检查指定值在数组的最后出现位置,如果位置是存在的,则包含该给定元素;如果返回-1,则不包含该给定元素。

下面给出实现代码::

var fruits = ['苹果',"香蕉", '榴莲', '橘子', '菠萝蜜',"梨子"];
var b = fruits.lastIndexOf("葡萄");

if (b>0) {
	console.log("给定元素是存在的");
} else {
	console.log("给定元素是不存在的");
}

输出结果为:

给定元素是不存在的

好了,就说到这里了,有需要的可以看:javascript视频教程

以上就是JS数组学习之检查是不是存在给定元素的详细内容,更多请关注亿码酷站其它相关文章!


JS数组学习之检查是不是存在给定元素
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

云服务器推荐