JavaScript >> Javascript 文檔 >  >> Tags >> object

檢查對像是否為空的不同方法

檢查對像是否為空是一項非常簡單且常見的任務,但是有很多方法可以檢查對像是否為空。所以在這篇博客中,我試圖涵蓋所有檢查對像是否為空的最佳方法。

那麼讓我們弄清楚如何完成它。

這里首先我們使用對象字面量語法創建一個空對象

const obj = {}

創建空對像後obj 我們將它與另一個空對象進行比較,如下所示:

console.log(obj === {}) // false

我們得到 false .這怎麼可能???我們像這樣比較兩個空對象:

console.log({} === {}) // false

這是因為我們在比較參考,而不是值。即使值相同,對這些對象的引用也不相同。

那麼我們如何才能真正檢查一個對像是否為空呢?

使用 Object.Keys

Object.keys 將返回一個數組,其中包含對象的屬性名稱。如果數組的長度為0,那麼我們就知道對像是空的。

function isEmpty(obj) {
    return Object.keys(obj).length === 0;
}

我們也可以使用 Object.values 來檢查 和 Object.entries

這是檢查對像是否為空的最簡單方法。

使用 JSON.stringify

如果我們對對象進行字符串化並且結果只是一個左括號和右括號,我們就知道該對像是空的。

function isEmptyObject(obj){
    return JSON.stringify(obj) === '{}';
}

使用 for…in 循環對象屬性

for…in 語句將遍歷對象的可枚舉屬性。

function isEmpty(obj) {
    for(var prop in obj) {
        if(obj.hasOwnProperty(prop))
            return false;
    }

    return true;
}

在上面的代碼中,我們會循環遍歷對象的屬性,如果一個對象至少有一個屬性,那麼它將進入循環並返回false .如果對像沒有任何屬性,那麼它將返回 true .

使用下劃線和 Lodash

我們也可以像這樣通過 underscore.js 進行檢查:

_.isEmpty(obj);

_.isEmpty() 是一個 underscore.js 函數,用於檢查列表、數組、字符串、對像等是否為空。它首先找出傳遞參數的長度,然後再決定。如果傳遞的參數為空,即其中沒有任何元素,則返回 true。否則返回false。

使用 jQuery

我們也可以像這樣通過 jQyery 庫進行檢查:

jQuery.isEmptyObject(obj); 

感謝閱讀😄。

如果有什麼我錯過的,或者如果你有更好的方法來做某事,請告訴我。


Tutorial JavaScript 教程
  1. 帶有 Mongoose、JWT 身份驗證、授權的 Node Express CRUD

  2. 如何在 React 中的地圖內使用條件渲染

  3. Fathom Analytics:以隱私為中心的網站分析

  4. 自定義撇號管理 UI

  5. JAM棧介紹

  6. React Hook Forms 解析器 V2 中的新功能

  7. Javascript – 更新輸入值後按回車鍵

  1. 使用 MERN 堆棧和 Socket.IO 構建全棧國際象棋應用程序

  2. 使用 VueJS 和 TypeScript 的可測試代碼

  3. 如何在沒有 SSH 訪問控制的共享主機(Cpanel/DirectAdmin)上安裝 NodeJS 服務器

  4. 100 算法挑戰 - 解釋和解決 - 算法 1(簡單)

  5. React Hooks - 具有多個上下文的 useContext

  6. 解釋 ExtJS 4 事件處理

  7. 使用 Open Graph API 在 Facebook 上共享全景(360º)圖像時出現問題

  1. 設置 Angular 庫項目的終極指南

  2. 如何使用 React Hooks 構建 TODO 列表

  3. 使用 React + Square 進行在線支付

  4. 狀態與生命週期