判斷方法:1、使用includes()函數,可判斷數組是否包含一個指定的值,語法“arr.includes(值)”,如果返回true則存在;2、使用find()函數,可查找符合新增的第一個元素,語法「arr.find(function(v){if(v==值{...}})」;3、使用some()函數,語法「arr.some (i=>i===值)”,如果回傳true則存在。
#本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
es6判斷指定值是否在陣列裡的方法
在es6中,可以利用includes()、find() 、some()方法來判斷元素是否在陣列中。
方法1:使用includes()方法
includes() 方法用來判斷一個陣列是否包含一個指定的值,傳回true或false。語法:
array.includes(searchElement, fromIndex);
searchElement:要尋找的元素;
arr = [1,2,3,4,5] console.log(arr.includes(5));#可以看到,傳回值為true,則表示元素
5在陣列中。
方法2:使用find()方法
find() 方法傳回通過測試(函數內判斷)的陣列的第一個元素的值。find() 方法為數組中的每個元素都呼叫一次函數執行: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)
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+" 在数组中"); }
#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+" 在数组中"); }#############【相關推薦:###javascript學習教學######】### ###
以上是es6怎麼判斷是否在陣列裡的詳細內容。更多資訊請關注PHP中文網其他相關文章!