国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JavaScript判斷數(shù)組對(duì)象是否含有某個(gè)值的方法(6種)

這篇具有很好參考價(jià)值的文章主要介紹了JavaScript判斷數(shù)組對(duì)象是否含有某個(gè)值的方法(6種)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

知識(shí)回調(diào)

文章內(nèi)容 文章鏈接
vue3 antd table表格的增刪改查(一)input輸入框根據(jù)關(guān)鍵字搜索【后臺(tái)管理系統(tǒng)純前端filter過(guò)濾】 https://blog.csdn.net/XSL_HR/article/details/128072584?spm=1001.2014.3001.5501
vue3 antd table表格的增刪改查(二)input輸入框根據(jù)關(guān)鍵字搜索【后臺(tái)管理系統(tǒng) 請(qǐng)求后端接口 前后端交互】 https://blog.csdn.net/XSL_HR/article/details/128089801?spm=1001.2014.3001.5501

場(chǎng)景復(fù)現(xiàn)

在后臺(tái)管理系統(tǒng)的項(xiàng)目開(kāi)發(fā)中,對(duì)于數(shù)組對(duì)象的處理非常常見(jiàn),比如數(shù)組對(duì)象的排序、數(shù)組對(duì)象的篩選數(shù)組對(duì)象的模糊查詢。往期文章我們介紹了關(guān)于數(shù)組對(duì)象排序和篩選的內(nèi)容,本期文章主要介紹判斷數(shù)組對(duì)象是否含有某個(gè)值的方法。


實(shí)現(xiàn)方式(6種)

利用循環(huán)遍歷數(shù)組元素

  • 使用循環(huán)遍歷數(shù)組元素是比較傳統(tǒng),也比較老的實(shí)現(xiàn)方案,但是不可否認(rèn)的是,這種方法在瀏覽器種效率較高,并且理解起來(lái)很快。
  • 但是,當(dāng)限制條件很多時(shí),會(huì)產(chǎn)生多層循環(huán)和多次數(shù)據(jù)處理的問(wèn)題。
function contains(arr, val) {
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] === val) {
            return true;
        }
    }
    return false;
}
contains([1,2,3],3);//true

當(dāng)然,也可以使用while語(yǔ)句

function contains(arr, val) {
    var i = arr.length;
    while (i--) {
       if (arr[i] === val){
           return true;
       }
    }
    return false;
}
contains([1,2,3,4],1);//true

利用some,filter方法

使用some方法更加簡(jiǎn)潔,一旦找到元素,迭代就會(huì)終止,從而避免了不必要的迭代周期(不過(guò)使用循環(huán)也能解決,但是增加了代碼量)

示例代碼:

function contains(arr, val) {
    return arr.some(item => item === val);
}

這里可以直接使用箭頭函數(shù)對(duì)數(shù)據(jù)進(jìn)行篩選,相比循環(huán)而言更加簡(jiǎn)潔。

使用filter方法最為常見(jiàn),filter本身為過(guò)濾的意思,一般在filter的箭頭函數(shù)中添加篩選條件。
注意array.filter(e=>e==x).length > 0等效于array.some(e=>e==x),但some更有效)

示例代碼:

function contains(arr, val) {
    return arr.filter((item)=> { return item == val }).length > 0;
}

利用array.indexOf方法

  • array.indexOf此方法判斷數(shù)組中是否存在某個(gè)值,如果存在返回?cái)?shù)組元素的下標(biāo),否則返回-1。
  • indexOf方法在篩選數(shù)組數(shù)據(jù)時(shí)十分常用,一般用于模糊查詢和關(guān)鍵字搜索。
[1, 2, 3].indexOf(1);//0
["foo", "fly63", "baz"].indexOf("fly63");//1
[1, 2, 3].indexOf(4);//-1

注意:

  • indexOf() 方法對(duì)大小寫(xiě)敏感。如果要檢索的字符串值沒(méi)有出現(xiàn),則該方法返回 -1。
  • 在比較第一個(gè)參數(shù)與數(shù)組中的每一項(xiàng)時(shí),會(huì)使用全等操作符,即要求查找的項(xiàng)必須嚴(yán)格相等。
  • 數(shù)組的位置是ECMAScript5為數(shù)組實(shí)例新增的,支持的瀏覽器有IE9+,Firefox,Safari,Opera,Chrome。

利用array.includes方法

  • array.includes(searchElement[, fromIndex]) 此方法判斷數(shù)組中是否存在某個(gè)值
  • 如果存在返回true,否則返回false。
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false

它還接受可選的第二個(gè)參數(shù)fromIndex

[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true

不像indexOf,它采用嚴(yán)格相等比較。這意味著您可以檢測(cè)數(shù)組是否包含NaN

[1, 2, NaN].includes(NaN); // true

也不同于indexOf,includes不會(huì)跳過(guò)缺失的索引

new Array(5).includes(undefined); // true

利用array.find方法

find用于返回?cái)?shù)組中滿足條件的第一個(gè)元素的值,如果沒(méi)有,返回undefined

let numbers = [12, 5, 8, 130, 44];
let result = numbers.find(item => {
    return item > 8;
});
console.log(result);//12
//元素是對(duì)象
let items = [
    {id: 1, name: 'something'},
    {id: 2, name: 'anything'},
    {id: 3, name: 'nothing'},
];
let item = items.find(item => {
    return item.id == 3;
});
console.log(item) //Object { id: 3, name: "nothing" }

除了find,我們也可以使用array.indIndex。返回?cái)?shù)組中滿足條件的第一個(gè)元素的索引(下標(biāo)), 如果沒(méi)有找到,返回-1(和第三種方法indexOf類似)

利用set中has方法

function contains(arr, val) {
  return new Set(arr).has(val)
}
contains([1,2,3],2);//true

通過(guò)new set([])將數(shù)組轉(zhuǎn)換成Set對(duì)象,set.prototype.has(value)判斷該值是否存在于Set對(duì)象中,返回布爾值。

延伸:除此之外,還可以利用它進(jìn)行數(shù)組去重

let arr2 = new Set([1,1,2,3,4]) 
let arr3 = [...arr2] 
console.log(arr2,arr3) // {1,2,3,4} [1,2,3,4]

JavaScript判斷數(shù)組對(duì)象是否含有某個(gè)值的方法(6種)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-455387.html

本期小結(jié)

本期文章詳細(xì)介紹了六種方法,用于判斷數(shù)組對(duì)象是否含有某個(gè)值。當(dāng)然,在往期文章中,我們利用filter和indexOf對(duì)數(shù)據(jù)進(jìn)行過(guò)簡(jiǎn)單的增刪改查,但是當(dāng)查詢的數(shù)據(jù)變成數(shù)組對(duì)象里的數(shù)組對(duì)象時(shí),我們應(yīng)該怎么解決呢?

下期文章將介紹vue antd table表格的增刪改查(三)(input輸入框根據(jù)關(guān)鍵字模糊查詢)
感興趣的小伙伴可以訂閱本專欄,方便后續(xù)了解學(xué)習(xí)~
覺(jué)得這篇文章有用的小伙伴們可以點(diǎn)贊?收藏?關(guān)注哦~

JavaScript判斷數(shù)組對(duì)象是否含有某個(gè)值的方法(6種)

到了這里,關(guān)于JavaScript判斷數(shù)組對(duì)象是否含有某個(gè)值的方法(6種)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用js判斷l(xiāng)ist中是否含有某個(gè)字符串,存在則刪除,

    使用js判斷l(xiāng)ist中是否含有某個(gè)字符串,存在則刪除,

    顯示上圖中使用了兩種方式, 左邊的是filter將不等于userCode的元素篩選出來(lái)組成一個(gè)新的list, 但是上面這個(gè)方法在 IE瀏覽器中不支持 , 所以改成了右邊的方法,使用splice: splice傳入兩個(gè)參數(shù),第一個(gè)參數(shù)是要?jiǎng)h除的元素的索引位置,第二個(gè)是從這個(gè)索引往后刪除幾個(gè);

    2024年01月24日
    瀏覽(100)
  • Java判斷List集合中的對(duì)象是否包含有某一元素

    Java判斷List集合中的對(duì)象是否包含有某一元素

    關(guān)于以下方法,直接可以在自己項(xiàng)目創(chuàng)建一個(gè)類,然后進(jìn)行測(cè)試使用!文本末尾也提供了每個(gè)方法的運(yùn)行結(jié)果,供大家參考使用! 文章大量使用到了Java8當(dāng)中的Lambda表達(dá)式,以及stream流相關(guān)基礎(chǔ)知識(shí)。如果您用的不熟,沒(méi)關(guān)系,可以直接復(fù)制下面的方案然后進(jìn)行套著使用即可

    2024年02月11日
    瀏覽(24)
  • JS中判斷某個(gè)字符串、數(shù)組等是否包含某個(gè)值

    方法一: indexOf()?? (推薦) ? indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。如果要檢索的字符串值沒(méi)有出現(xiàn),則該方法返回 -1。 方法二:match() ? match() 方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。 方法三: search() ? search() 方法

    2024年02月03日
    瀏覽(103)
  • js判斷對(duì)象是否擁有某個(gè)key

    方法一 : \\\"key\\\" in obj ,結(jié)果為 false,表示不包含;否則表示包含 方法二 : obj.hasOwnProperty(\\\"key\\\") ,obj 表示對(duì)象,結(jié)果為 false 表示不包含;否則表示包含 這兩種方法都可以用于檢查對(duì)象是否包含指定的屬性,但它們有一些區(qū)別。 “key” in obj: 這種方法使用 in 運(yùn)算符來(lái)檢查屬

    2024年02月08日
    瀏覽(27)
  • js判斷對(duì)象是否存在某個(gè)屬性的辦法

    在 JavaScript 開(kāi)發(fā)中,判斷一個(gè)對(duì)象是否存某個(gè)屬性在是非?;A(chǔ)的操作,也是開(kāi)發(fā)者經(jīng)常需要處理的問(wèn)題之一。然而,繁瑣的代碼可能會(huì)讓我們感到疲憊不堪,因此這里將介紹幾種 JavaScript 小技巧,幫助你更高效地判斷對(duì)象屬性的存在性,提高代碼效率?。 ?? 技巧一: 使用

    2024年02月09日
    瀏覽(93)
  • java 怎么判斷某個(gè)字符串是否在數(shù)組中

    在 Java 中,可以使用以下幾種方法來(lái)判斷一個(gè)字符串是否在數(shù)組中: 使用 for 循環(huán)遍歷數(shù)組,逐個(gè)比較字符串是否相等。 使用 Arrays.asList() 將數(shù)組轉(zhuǎn)換為列表,然后使用列表的 contains() 方法來(lái)判斷字符串是否在數(shù)組中。 使用 Java 8 的 Stream API,使用 anyMatch() 方法來(lái)判斷是否存

    2024年02月14日
    瀏覽(46)
  • mysql數(shù)據(jù)庫(kù)存數(shù)組類型數(shù)據(jù),如何判斷數(shù)組中是否包含某個(gè)值?使用mybatisplus查詢。

    mysql數(shù)據(jù)庫(kù)存數(shù)組類型數(shù)據(jù),如何判斷數(shù)組中是否包含某個(gè)值?使用mybatisplus查詢。

    跟mybatisplus中.in()方法相反的函數(shù) mybatisplus的in函數(shù):查詢的是數(shù)據(jù)庫(kù)的某個(gè)屬性的值是否在給定的集合中。這里我們講的是一個(gè)值是否在數(shù)據(jù)庫(kù)的某個(gè)屬性數(shù)組中。 說(shuō)明: 這是一張學(xué)生信息表,其中包含了學(xué)生曾經(jīng)就讀過(guò)的學(xué)?!,F(xiàn)在我們要做的就是查詢哪些學(xué)生就讀過(guò)指

    2024年02月16日
    瀏覽(228)
  • java判斷某個(gè)字符串是否在字符串?dāng)?shù)組中的方法(4種)

    java判斷某個(gè)字符串是否在字符串?dāng)?shù)組中的方法(4種)

    public class Demo { ??? public static boolean useLoop(String[] arr, String targetValue) { ??????? for (String s : arr) { ??????????? if (s.equals(targetValue)) return true; ??????? } ??????? return false; ??? } ? ??? public static void main(String[] args) { ??????? String arr[] = {\\\"aa\\\", \\\"bb\\\", \\\"cc\\\"}; ??????

    2024年02月11日
    瀏覽(202)
  • JavaScript對(duì)象數(shù)組根據(jù)某個(gè)屬性值篩選分類

    ?? 作者 : coderYYY ?? 個(gè)人簡(jiǎn)介 :前端程序媛,目前主攻 web前端 ,后端輔助,其他技術(shù)知識(shí)也會(huì)偶爾分享??歡迎和我一起交流!??(評(píng)論和私信一般會(huì)回!?。??? 個(gè)人專欄推薦 :《前端項(xiàng)目教程以及代碼》 在開(kāi)發(fā)中,這種需求還是挺常見(jiàn)的,常用于處理后端返回的數(shù)據(jù)

    2024年02月06日
    瀏覽(25)
  • PHP開(kāi)發(fā)日志 ━━ 不同方法判斷某個(gè)數(shù)組中是否存在指定的鍵名,測(cè)試哪種方法效率高

    PHP開(kāi)發(fā)日志 ━━ 不同方法判斷某個(gè)數(shù)組中是否存在指定的鍵名,測(cè)試哪種方法效率高

    我們可以用 isset($arr[\\\'a\\\']) 或者 array_key_exists(\\\'a\\\', $arr) 來(lái)判斷 \\\'a\\\' 鍵名是否存在與 $arr 數(shù)組。 那么這兩種方式哪個(gè)運(yùn)行速度快呢? 不多廢話了,現(xiàn)在我們寫(xiě)一段代碼來(lái)測(cè)試一下: 結(jié)論是 isset() 更勝一籌。

    2024年02月02日
    瀏覽(91)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包