这篇文章主要介绍“es6如何判断是否在数组里”,在日常操作中,相信很多人在es6如何判断是否在数组里问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6如何判断是否在数组里”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
判断方法:1、使用includes()函数,可判断数组是否包含一个指定的值,语法“arr.includes(值)”,如果返回true则存在;2、使用find()函数,可查找符合添加的第一个元素,语法“arr.find(function(v){if(v==值{...}})”;3、使用some()函数,语法“arr.some(i=>i===值)”,如果返回true则存在。
es6判断指定值是否在数组里的方法
在es6中,可以利用includes()、find()、some()方法来判断元素是否在数组中。
方法1:使用includes()方法
includes() 方法用来判断一个数组是否包含一个指定的值,返回 true或 false。语法:
array.includes(searchElement, fromIndex);
searchElement:要查找的元素;
fromIndex:开始查找的索引位置。
示例:
arr = [1,2,3,4,5]console.log(arr.includes(5));
可以看到,返回值为true,则表示元素5
在数组中。
方法2:使用find()方法
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
示例:
var arr = [1,2,3,4,5]arr.find(function(value){if(value==5){console.log("指定元素在数组中");}})
方法3:使用some()方法
some() 方法用来检测数组中是否存在符合指定条件的元素,存在就返回 true,不存在就返回 false。
arr = [1,2,3,4,5];let istrue= arr.some(item => item === 45);console.log(istrue);
可以看到,返回值为false,则表示元素不在数组中。
扩展知识:es5判断指定值是否在数组里的方法
在es5中,可以利用indexOf()和lastIndexOf()函数来判断元素是否在数组中。
indexOf() 和 lastIndexOf() 方法可以检索数组元素,返回指定元素的索引位置;如果指定元素不存在,则返回“-1
”。
1、使用 indexOf() 在数组中查找元素
indexOf() 返回某个元素值在数组中的第 1 个匹配项的索引,如果没有找到指定的值,则返回 -1。用法如下:
array.indexOf(item,start)
item 必须。查找的元素。
start 可选的整数参数。规定在数组中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。
indexOf() 方法是按升序索引执行搜索,即从左到右进行检索。检索时,会让数组元素与 searchElement参数值进行全等比较===。
示例:查找元素是否在数组中
var arr = ["ab","cd","ef","ab","cd"];var str="cd";if(arr.indexOf(str)===-1){console.log("指定元素:"+str+" 不在数组中");}else{console.log("指定元素: "+str+" 在数组中");}
修改一下需要查找的值:
var str="gh";if(arr.indexOf(str)===-1){console.log("指定元素:"+str+" 不在数组中");}else{console.log("指定元素: "+str+" 在数组中");}
2、使用 lastIndexOf() 在数组中查找元素
indexOf() 返回某个元素值在数组中的最后 1 个匹配项的索引,如果没有找到指定的值,则返回 -1。其用法与 indexOf() 相同。
示例:查找元素是否在数组中
var arr = ["ab","cd","ef","ab","cd"];var str="gx";if(arr.lastIndexOf(str)===-1){console.log("指定元素:"+str+" 不在数组中");}else{console.log("指定元素: "+str+" 在数组中");}
到此,关于“es6如何判断是否在数组里”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!