91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js如何判斷一個對象是否在一個對象數組中

發布時間:2022-08-04 10:29:52 來源:億速云 閱讀:115 作者:iii 欄目:開發技術

本篇內容主要講解“js如何判斷一個對象是否在一個對象數組中”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“js如何判斷一個對象是否在一個對象數組中”吧!

    場景:

    有一個對象數組,如:

    var arr = [{"appName":"小何","appId":"1"},{"appName":"小王","appId":"2"}]

    一般來說,常見的場景有兩個:

    第一個是,比如鼠標點擊按鈕,往數組里push()一個對象,如果數組中已經存在了,那么就得提示不能添加。

    第二個是,push()之后做去重處理,既對象數組去重。

    第一個場景解法:如果數組中已經存在,就不能添加

    使用includes()方法,意為存在,存在返回true,不存在返回false,重點是要結合JSON.stringify()序列化為字符串后再判斷,以下是示例代碼:

    var arr = [{"appName":"小何","appId":"1"},{"appName":"小王","appId":"2"}]
     
    var obj = {"appName":"小王","appId":"2"}
     
    //如果數組arr中不存在字符串JSON.stringify(obj),那就可以添加,反之,則不添加
    if(JSON.stringify(arr).includes(JSON.stringify(obj)) === false){
         console.log('不存在')
         arr.push(obj)
    }else{
         console.log('已存在')
    }

    小結:

    es6新增的includes()方法很強大,字符串,數組,對象均可使用,返回一個布爾值,比之前常用的indexof()語義化更強,且includes()的性能不錯!

    第二個場景解法: 對象數組去重

    我理解的對象數組去重是這樣的:

    就是他們的屬性和值都得一樣,且他們的長度也是一樣的。

    也就是說,key和value都得一樣才行,而且不能多不能少。

    試著手寫了一下,嵌套了好幾層循環,性能不好,直接一步到位,以下是我的最優解:

    lodash是前端常用的JS方法庫,就是將很多方法封裝起來,方便使用。

    使用lodash的_.uniqWith()方法,結合_.isEqual比較函數,即可較為完美的解決問題。

    需要注意的是,_.isEqual()方法也是非常強大的,作用是比較兩個對象是否相等,這個方法非常實用,我經常用它,他是深層遞歸的,推薦。

    js如何判斷一個對象是否在一個對象數組中

    代碼示例:

    var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
    _.uniqWith(objects, _.isEqual);
    // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]

    到此,相信大家對“js如何判斷一個對象是否在一個對象數組中”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    js
    AI

    通道| 新安县| 仪陇县| 邻水| 扎鲁特旗| 高雄市| 黔江区| 雅安市| 镇宁| 稻城县| 内乡县| 莱州市| 襄垣县| 平乐县| SHOW| 双峰县| 玛多县| 宝清县| 上栗县| 金阳县| 澄迈县| 车致| 呼图壁县| 石楼县| 巴林右旗| 偏关县| 崇礼县| 沽源县| 屏东县| 温宿县| 资兴市| 醴陵市| 郯城县| 额尔古纳市| 安西县| 双桥区| 广丰县| 邮箱| 苍山县| 洪洞县| 弥勒县|