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