JavaScript中判斷某個(gè)字符串、數(shù)組等是否包含某個(gè)值的五種方法
一、判斷某個(gè)字符串是否包含另一個(gè)字符串的五種方法
String對象的方法
方法一: indexOf() (推薦)
var str = "123" console.log(str.indexOf("2") != -1); // true
indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。如果要檢索的字符串值沒有出現(xiàn),則該方法返回 -1。
方法二:match()
var str = "123" var reg = RegExp(/3/); if(str.match(reg)){ //包含; }
match() 方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。
方法三: search()
var str = "123" console.log(str.search("2") != -1); // true
search() 方法用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串。如果沒有找到任何匹配的子串,則返回 -1。
RegExp對象的方法
方法四: test()
var str = "123" var reg = RegExp(/3/); console.log(reg.test(str) != -1); // true
test() 方法用于檢索字符串中指定的值。返回 true 或 false。
方法五:exec()
var str = "123" var reg = RegExp(/3/); if(reg.exec(str)){ //包含; }
exec() 方法用于檢索字符串中的正則表達(dá)式的匹配。返回一個(gè)數(shù)組,其中存放匹配的結(jié)果。如果未找到匹配,則返回值為 null。
二、javascript判斷數(shù)組是否包含
在 JavaScript 中,判斷數(shù)組是否包含某個(gè)元素是非常常見的操作。針對不同的需求,我們可以使用不同的方式來判斷一個(gè)數(shù)組是否包含某個(gè)元素。本文將介紹幾種常見的判斷方式。
方法一:使用 includes() 方法
在 ES6 中,為數(shù)組提供了一個(gè) includes() 方法,用于判斷數(shù)組是否包含某個(gè)元素。它的語法如下:
array.includes(searchElement[, fromIndex])
其中,searchElement 表示要查找的元素,fromIndex 表示搜索的起始位置,默認(rèn)值為 0。
includes() 方法返回一個(gè)布爾值,表示數(shù)組中是否包含指定的元素。
以下是使用 includes() 方法判斷數(shù)組是否包含某個(gè)元素的示例代碼:
const fruits = ['apple', 'banana', 'orange']; console.log(fruits.includes('apple')); // true console.log(fruits.includes('banana')); // true console.log(fruits.includes('pear')); // false
方法二:使用 indexOf() 方法
如果你的代碼需要兼容 ES5 或更早的版本,那么可以使用 indexOf() 方法來判斷數(shù)組是否包含某個(gè)元素。它的語法如下:
array.indexOf(searchElement[, fromIndex])
其中,searchElement 表示要查找的元素,fromIndex 表示搜索的起始位置,默認(rèn)值為 0。
indexOf() 方法返回一個(gè)數(shù)字,表示數(shù)組中第一次出現(xiàn)指定元素的位置。如果數(shù)組中不包含該元素,則返回 -1。
以下是使用 indexOf() 方法判斷數(shù)組是否包含某個(gè)元素的示例代碼:
const fruits = ['apple', 'banana', 'orange']; console.log(fruits.indexOf('apple') !== -1); // true console.log(fruits.indexOf('banana') !== -1); // true console.log(fruits.indexOf('pear') !== -1); // false
方法三:使用 find() 方法
ES6 中還提供了一個(gè) find() 方法,它可以用于獲取數(shù)組中符合條件的第一個(gè)元素。如果數(shù)組中不存在符合條件的元素,則返回 undefined。我們可以利用這一點(diǎn)來判斷數(shù)組是否包含某個(gè)元素。以下是使用 find() 方法判斷數(shù)組是否包含某個(gè)元素的示例代碼:
const fruits = ['apple', 'banana', 'orange']; console.log(fruits.find(item => item === 'apple') !== undefined); // true console.log(fruits.find(item => item === 'banana') !== undefined); // true console.log(fruits.find(item => item === 'pear') !== undefined); // false
這里的 find() 方法使用了一個(gè)箭頭函數(shù),它接受一個(gè)參數(shù) item,表示數(shù)組中的每一個(gè)元素。箭頭函數(shù)的返回值為 item 是否等于要查找的元素,如果是則返回 true,否則返回 false。最終,find() 方法返回的是查找結(jié)果是否為 undefined,即是否存在符合條件的元素。
方法四:使用 some() 方法
與 find() 方法類似,ES6 中還提供了一個(gè) some() 方法,它可以用于判斷數(shù)組中是否存在符合條件的元素。如果數(shù)組中存在符合條件的元素,則返回 true,否則返回 false。以下是使用 some() 方法判斷數(shù)組是否包含某個(gè)元素的示例代碼:
const fruits = ['apple', 'banana', 'orange']; console.log(fruits.some(item => item === 'apple')); // true console.log(fruits.some(item => item === 'banana')); // true console.log(fruits.some(item => item === 'pear')); // false
這里的 some() 方法使用了一個(gè)箭頭函數(shù),它接受一個(gè)參數(shù) item,表示數(shù)組中的每一個(gè)元素。箭頭函數(shù)的返回值為 item 是否等于要查找的元素,如果是則返回 true,否則返回 false。最終,some() 方法返回的是查找結(jié)果是否為 true,即是否存在符合條件的元素。
總結(jié)
本文介紹了幾種常見的方式來判斷數(shù)組是否包含某個(gè)元素,它們分別是:
- includes() 方法
- indexOf() 方法
- find() 方法
- some() 方法
你可以根據(jù)自己的需求來選擇其中一種方式。如果你使用的是 ES6 或以上的版本,建議使用 includes() 方法或 find() 方法,它們更加直觀和便捷;如果你需要兼容 ES5 或更早的版本,那么可以使用 indexOf() 方法或 some() 方法。
到此這篇關(guān)于JavaScript中判斷某個(gè)字符串、數(shù)組等是否包含某個(gè)值的文章就介紹到這了,更多相關(guān)JS判斷是否包含某個(gè)值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mysql如何獲取json字符串/數(shù)組的值
- JS字符串轉(zhuǎn)換為數(shù)組的4 個(gè)方法示例小結(jié)
- 將JSON字符串?dāng)?shù)組轉(zhuǎn)對象集合方法步驟
- 利用js判斷數(shù)據(jù)是否是數(shù)組或字符串的常見方法
- JavaScript將數(shù)組轉(zhuǎn)為對象與JSON對象字符串轉(zhuǎn)數(shù)組方法詳解
- JavaScript實(shí)現(xiàn)字符串轉(zhuǎn)數(shù)組的6種方法總結(jié)
- 如何將JSON字符串?dāng)?shù)組轉(zhuǎn)對象集合
- JS數(shù)組轉(zhuǎn)字符串實(shí)現(xiàn)方法解析
- JS字符串和數(shù)組如何實(shí)現(xiàn)相互轉(zhuǎn)化
- JavaScript 中字符串和數(shù)組的概念解析與多角度對比區(qū)分
相關(guān)文章
JavaScript雙向鏈表實(shí)現(xiàn)LRU緩存算法的示例代碼
本文主要介紹了JavaScript雙向鏈表實(shí)現(xiàn)LRU緩存算法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01uni-app使用uni.navigateTo傳遞對象參數(shù)示例代碼
最近在做微信小程序用的是uniapp開發(fā)的,自己記錄一下,也和大家分享一下,這篇文章主要給大家介紹了關(guān)于uni-app使用uni.navigateTo傳遞對象參數(shù)的相關(guān)資料,需要的朋友可以參考下2023-11-11小程序如何在不同設(shè)備上自適應(yīng)生成海報(bào)的實(shí)現(xiàn)方法
這篇文章主要介紹了小程序如何在不同設(shè)備上自適應(yīng)生成海報(bào)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Javascript中使用A標(biāo)簽獲取當(dāng)前目錄的絕對路徑方法
這篇文章主要介紹了Javascript中使用A標(biāo)簽獲取當(dāng)前目錄的絕對路徑方法,本文講解的方法比較特別,需要的朋友可以參考下2015-03-03js實(shí)現(xiàn)PC端和移動(dòng)端刮卡效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)PC端和移動(dòng)端刮卡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02