判斷方法:1、使用includes()函數(shù),可判斷數(shù)組是否包含一個(gè)指定的值,語(yǔ)法“arr.includes(值)”,如果返回true則存在;2、使用find()函數(shù),可查找符合添加的第一個(gè)元素,語(yǔ)法“arr.find(function(v){if(v==值{…}})”;3、使用some()函數(shù),語(yǔ)法“arr.some(i=>i===值)”,如果返回true則存在。
本教程操作環(huán)境:windows7系統(tǒng)、ECMAScript 6版、Dell G3電腦。
es6判斷指定值是否在數(shù)組里的方法
在es6中,可以利用includes()、find()、some()方法來(lái)判斷元素是否在數(shù)組中。
方法1:使用includes()方法
includes() 方法用來(lái)判斷一個(gè)數(shù)組是否包含一個(gè)指定的值,返回 true或 false。語(yǔ)法:
array.includes(searchElement, fromIndex);
-
searchElement:要查找的元素;
-
fromIndex:開(kāi)始查找的索引位置。
示例:
arr = [1,2,3,4,5] console.log(arr.includes(5));
可以看到,返回值為true,則表示元素5
在數(shù)組中。
方法2:使用find()方法
find() 方法返回通過(guò)測(cè)試(函數(shù)內(nèi)判斷)的數(shù)組的第一個(gè)元素的值。
find() 方法為數(shù)組中的每個(gè)元素都調(diào)用一次函數(shù)執(zhí)行:
-
當(dāng)數(shù)組中的元素在測(cè)試條件時(shí)返回 true 時(shí), find() 返回符合條件的元素,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)。
-
如果沒(méi)有符合條件的元素返回 undefined
示例:
var arr = [1,2,3,4,5] arr.find(function(value){ if(value==5){ console.log("指定元素在數(shù)組中"); } })
方法3:使用some()方法
some() 方法用來(lái)檢測(cè)數(shù)組中是否存在符合指定條件的元素,存在就返回 true,不存在就返回 false。
arr = [1,2,3,4,5]; let istrue= arr.some(item => item === 45); console.log(istrue);
可以看到,返回值為false,則表示元素不在數(shù)組中。
擴(kuò)展知識(shí):es5判斷指定值是否在數(shù)組里的方法
在es5中,可以利用indexOf()和lastIndexOf()函數(shù)來(lái)判斷元素是否在數(shù)組中。
indexOf() 和 lastIndexOf() 方法可以檢索數(shù)組元素,返回指定元素的索引位置;如果指定元素不存在,則返回“-1
”。
1、使用 indexOf() 在數(shù)組中查找元素
indexOf() 返回某個(gè)元素值在數(shù)組中的第 1 個(gè)匹配項(xiàng)的索引,如果沒(méi)有找到指定的值,則返回 -1。用法如下:
array.indexOf(item,start)
-
item 必須。查找的元素。
-
start 可選的整數(shù)參數(shù)。規(guī)定在數(shù)組中開(kāi)始檢索的位置。它的合法取值是 0 到 stringObject.length – 1。如省略該參數(shù),則將從字符串的首字符開(kāi)始檢索。
indexOf() 方法是按升序索引執(zhí)行搜索,即從左到右進(jìn)行檢索。檢索時(shí),會(huì)讓數(shù)組元素與 searchElement參數(shù)值進(jìn)行全等比較===。
示例:查找元素是否在數(shù)組中
var arr = ["ab","cd","ef","ab","cd"]; var str="cd"; if(arr.indexOf(str)===-1){ console.log("指定元素:"+str+" 不在數(shù)組中"); }else{ console.log("指定元素: "+str+" 在數(shù)組中"); }
修改一下需要查找的值:
var str="gh"; if(arr.indexOf(str)===-1){ console.log("指定元素:"+str+" 不在數(shù)組中"); }else{ console.log("指定元素: "+str+" 在數(shù)組中"); }
2、使用 lastIndexOf() 在數(shù)組中查找元素
indexOf() 返回某個(gè)元素值在數(shù)組中的最后 1 個(gè)匹配項(xiàng)的索引,如果沒(méi)有找到指定的值,則返回 -1。其用法與 indexOf() 相同。
示例:查找元素是否在數(shù)組中
var arr = ["ab","cd","ef","ab","cd"]; var str="gx"; if(arr.lastIndexOf(str)===-1){ console.log("指定元素:"+str+" 不在數(shù)組中"); }else{ console.log("指定元素: "+str+" 在數(shù)組中"); }
【