首頁  >  文章  >  web前端  >  JS數組學習之檢查是不是存在給定元素

JS數組學習之檢查是不是存在給定元素

青灯夜游
青灯夜游原創
2021-08-30 18:06:301478瀏覽

在上一篇文章中我們介紹了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;
	}
}

輸出結果為:

JS數組學習之檢查是不是存在給定元素

方法2:利用陣列的includes() 方法

includes() 方法用來判斷一個陣列是否包含一個指定的值,如果是回傳true,否則false。

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

  • searchElement 必須。需要尋找的元素值。

  • fromIndex 可選。從該索引處開始尋找 searchElement。如果為負值,則按升序從 array.length fromIndex 的索引開始搜尋。預設為 0。

下面透過實例來具體了解:判斷fruits陣列中是否包含給定元素「榴槤」

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

輸出結果為:

JS數組學習之檢查是不是存在給定元素

方法3:利用陣列的some()方法

some()方法可以偵測陣列中是否存在符合條件的元素。換個角度思考,也可以用來偵測數組中的所有元素是否都不符合指定條件,都不符合的話就回傳 false,有一個或多個符合的話就回傳 true。

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

下面透過實例來具體了解:

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

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

輸出結果為:

给定元素是存在的

方法4:利用陣列的indexOf()方法

indexOf() 方法可傳回數組中某個指定元素的第一次出現位置。如果要檢索的元素沒有出現,則該方法傳回 -1。

實作想法:利用該方法檢查指定值在陣列的第一次出現位置,如果位置是存在的,則包含該給定元素。如果返回-1,則不包含該給定元素。

下面給出實作程式碼:

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

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

輸出結果為:

给定元素是存在的

方法5:利用陣列的lastIndexOf()方法

lastIndexOf()方法可搜尋陣列中的元素,並傳回它最後出現的位置。如果要檢索的元素沒有出現,則該方法傳回 -1。

實作想法:利用該方法檢查指定值在陣列的最後出現位置,如果位置是存在的,則包含該給定元素;如果傳回-1,則不包含該給定元素。

下面給出實作程式碼::

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

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

輸出結果為:

给定元素是不存在的

好了,就說到這裡了,有需要的可以看:javascript影片教學

以上是JS數組學習之檢查是不是存在給定元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn