您好,登錄后才能下訂單哦!
這篇文章主要講解了“JS 中判斷數(shù)組是否包含指定元素的方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“JS 中判斷數(shù)組是否包含指定元素的方法有哪些”吧!
簡介
數(shù)組是我們編程中經(jīng)常使用的的數(shù)據(jù)結(jié)構(gòu)之一。在處理數(shù)組時,我們經(jīng)常需要在數(shù)組中查找特定的值,JavaScript 包含一些內(nèi)置方法來檢查數(shù)組是否有特定的值或?qū)ο蟆?/p>
今天,我們來一起看看如何檢查數(shù)組是否包含特定值或元素。
檢查數(shù)組是否包含一個基本類型的值
Arrya.includes() 方法
檢查數(shù)組值的最簡單方法是使用include()方法,如下所示:
let animals = ["?", "?", "?", "?"] animals.includes("?") // true animals.includes("?") // false
該函數(shù)返回一個布爾值,表示該值是否存在。
Arrya.indexOf() 方法
在需要查找的元素的確切位置的情況下,可以使用indexOf(elem)方法,該方法在指定的數(shù)組中查找elem并返回其第一次出現(xiàn)的索引,如果數(shù)組不包含elem則返回-1。
例如,我們可以在包含 grade 的數(shù)組中查找第一次出現(xiàn)的 grade:
let grades = ["B", "D", "C", "A"] grades.indexOf("A") // 3 grades.indexOf("F") // -1
在第一個實(shí)例中,元素出現(xiàn),并返回其位置,在第二個實(shí)例中,返回值表示元素不存在。
我們可以使用它來輕松地改變代碼流
let grades = ["B", "D", "C", "A"] if (grades.indexOf("F") >= 0) { console.log("元素存在"); } else { console.log("元素不存在"); }
檢查對象數(shù)組是否包含對象
some() 方法
在搜索對象時,include()檢查提供的對象引用是否與數(shù)組中的對象引用匹配。這不是我們想要的,因?yàn)閷ο罂梢杂邢嗤淖侄魏拖鄳?yīng)的值,但引用不同。
我們可以使用some()方法根據(jù)對象的內(nèi)容進(jìn)行搜索。some()方法接受一個參數(shù),接受一個回調(diào)函數(shù),對數(shù)組中的每個值執(zhí)行一次,直到找到一個滿足回調(diào)函數(shù)設(shè)置的條件的元素,并返回true。
為了更好地理解它,讓我們看看一些 some()的實(shí)際應(yīng)用
let animals = [{name: "dog"}, {name: "snake"}, {name: "monkey"}, {name: "donkey"}] let element = {name: "monkey"} animals.some(animal => animal.name === element.name)
回調(diào)函數(shù)在前兩種情況下返回 false,但在第三個情況下返回 true,因?yàn)槊Q匹配。此后,some()暫停執(zhí)行并返回 true。
總結(jié)
在本文中,我們介紹了在JavaScript中檢查數(shù)組是否包含指定值的幾種方法。
我們已經(jīng)介紹了include()函數(shù),它會在值存在時返回一個布爾值。函數(shù)的作用是:如果值存在,則返回該值的索引;如果不存在,則返回-1。
最后,對于對象,some()函數(shù)可幫助我們根據(jù)對象的內(nèi)容搜索對象的存在。
感謝各位的閱讀,以上就是“JS 中判斷數(shù)組是否包含指定元素的方法有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對JS 中判斷數(shù)組是否包含指定元素的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。