在上一篇文章中我們介紹了JavaScript返回滿足給定條件首個(gè)元素的3種方法,感興趣的可以點(diǎn)擊鏈接進(jìn)行查閱→《JS數(shù)組學(xué)習(xí)之返回滿足給定條件的首個(gè)元素》。這次我們繼續(xù)JavaScript數(shù)組的學(xué)習(xí),來聊聊利用JS怎么檢測(cè)指定值在數(shù)組中是否存在,有需要的朋友可以學(xué)習(xí)了解一下~
今天本文的主要內(nèi)容是:給定一個(gè)值,遍歷數(shù)組,檢查數(shù)組是不是包含該值。簡(jiǎn)單來說,檢查數(shù)組中是不是有一個(gè)或多個(gè)數(shù)組元素的值等于該值。
下面本文會(huì)帶大家了解4種方法,通過代碼示例來給大家具體介紹的。廢話不多說,直接開始~
方法1:利用for循環(huán)
實(shí)現(xiàn)思想:利用for語(yǔ)句來遍歷數(shù)組,在每次循環(huán)中利用===
判斷數(shù)組元素是否為給定值,當(dāng)有第一個(gè)元素滿足條件,則數(shù)組中存在給定元素,給出提示,然后使用break語(yǔ)句退出整個(gè)循環(huán)。
下面通過實(shí)例來具體了解一下:判斷fruits數(shù)組中是否包含給定元素“榴蓮”
var fruits = ['蘋果',"香蕉", '榴蓮', '橘子', '菠蘿蜜',"梨子"]; for(var i=0;i<fruits.length;i++){ if (fruits[i] === "榴蓮") { console.log("指定元素‘ "+fruits[i]+" ’是存在的"); break; } }
輸出結(jié)果為:
方法2:利用數(shù)組的includes() 方法
includes() 方法用來判斷一個(gè)數(shù)組是否包含一個(gè)指定的值,如果是返回 true,否則false。
語(yǔ)法:arr.includes(searchElement [, fromIndex])
-
searchElement 必須。需要查找的元素值。
-
fromIndex 可選。從該索引處開始查找 searchElement。如果為負(fù)值,則按升序從 array.length + fromIndex 的索引開始搜索。默認(rèn)為 0。
下面通過實(shí)例來具體了解一下:判斷fruits數(shù)組中是否包含給定元素“榴蓮”
var fruits = ['蘋果',"香蕉", '榴蓮', '橘子', '菠蘿蜜',"梨子"]; if(fruits.includes('榴蓮')){ console.log("給定元素是存在的"); }else{ console.log("給定元素是不存在的"); }
輸出結(jié)果為:
方法3:利用數(shù)組的some()方法
some()方法可以檢測(cè)數(shù)組中是否存在符合條件的元素。換個(gè)角度思考,也可以用來檢測(cè)數(shù)組中的所有元素是否都不符合指定條件,都不符合的話就返回 false,有一個(gè)或者多個(gè)符合的話就返回 true。
語(yǔ)法:array.every(function callbackfn(Value,index,array),thisValue)
下面通過實(shí)例來具體了解一下:
function f(value, index, ar) { if (value === '橘子') { return true; } } var fruits = ['蘋果',"香蕉", '榴蓮', '橘子', '菠蘿蜜',"梨子"]; var b = fruits.some(f); if (b) { console.log("給定元素是存在的"); } else { console.log("給定元素是不存在的"); }
輸出結(jié)果為:
給定元素是存在的
方法4:利用數(shù)組的indexOf()方法
indexOf() 方法可返回?cái)?shù)組中某個(gè)指定元素的第一次出現(xiàn)位置。如果要檢索的元素沒有出現(xiàn),則該方法返回 -1。
實(shí)現(xiàn)思想:利用該方法檢查指定值在數(shù)組的第一次出現(xiàn)位置,如果位置是存在的,則包含該給定元素。如果返回-1,則不包含該給定元素。
下面給出實(shí)現(xiàn)代碼:
var fruits = ['蘋果',"香蕉", '榴蓮', '橘子', '菠蘿蜜',"梨子"]; var b = fruits.indexOf("橘子"); if (b>0) { console.log("給定元素是存在的"); } else { console.log("給定元素是不存在的"); }
輸出結(jié)果為:
給定元素是存在的
方法5:利用數(shù)組的lastIndexOf()方法
lastIndexOf()方法可搜索數(shù)組中的元素,并返回它最后出現(xiàn)的位置。如果要檢索的元素沒有出現(xiàn),則該方法返回 -1。
實(shí)現(xiàn)思想:利用該方法檢查指定值在數(shù)組的最后出現(xiàn)位置,如果位置是存在的,則包含該給定元素;如果返回-1,則不包含該給定元素。
下面給出實(shí)現(xiàn)代碼::
var fruits = ['蘋果',"香蕉", '榴蓮', '橘子', '菠蘿蜜',"梨子"]; var b = fruits.lastIndexOf("葡萄"); if (b>0) { console.log("給定元素是存在的"); } else { console.log("給定元素是不存在的"); }
輸出結(jié)果為:
給定元素是不存在的
好了,就說到這里了,有需要的可以看:javascript視頻教程