Kiểm tra đối tượng trống javascript lodash

Trong bài viết này, bạn sẽ tìm hiểu năm cách khác nhau để kiểm tra xem một đối tượng có trống không trong JavaScript. Hãy nhảy ngay vào

Cách kiểm tra xem một đối tượng có trống không trong JavaScript

  1. Sử dụng đối tượng. phím
  2. Lặp lại các thuộc tính đối tượng Với for…in
  3. Sử dụng JSON. xâu chuỗi lại
  4. Sử dụng jQuery
  5. Sử dụng thư viện Underscore và Lodash

 

1. Sử dụng đối tượng. phím

_.isEmpty[obj];
8 sẽ trả về một mảng chứa tên thuộc tính của đối tượng. Nếu độ dài của mảng là
_.isEmpty[obj];
9 thì chúng ta biết rằng đối tượng trống.

function isEmpty[obj] {
    return **Object.keys[obj].length === 0**;
}

Chúng ta cũng có thể kiểm tra điều này bằng cách sử dụng

let userDetails = {
  name: "John Doe",
  username: "jonnydoe",
  age: 14,
}
0
let userDetails = {
  name: "John Doe",
  username: "jonnydoe",
  age: 14,
}
1 . Đây thường là cách dễ nhất để xác định xem một đối tượng có trống không.

Thêm thông tin từ các chuyên gia tích hợp Động vật. Giới thiệu

 

2. Lặp lại các thuộc tính đối tượng Với for…in

Câu lệnh

let userDetails = {
  name: "John Doe",
  username: "jonnydoe",
  age: 14,
}
2 sẽ lặp qua thuộc tính liệt kê được của đối tượng.

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}

Trong đoạn mã trên, chúng ta sẽ lặp qua các thuộc tính của đối tượng và nếu một đối tượng có ít nhất một thuộc tính thì nó sẽ đi vào vòng lặp và trả về false. Nếu đối tượng không có bất kỳ thuộc tính nào thì nó sẽ trả về true

Hướng dẫn dành cho nhà phát triển phần mềm được tích hợp sẵn Tạo ứng dụng React và TypeScript — Cách thực hiện nhanh

 

3. Sử dụng JSON. xâu chuỗi lại

Nếu chúng ta xâu chuỗi đối tượng và kết quả chỉ là một dấu ngoặc mở và đóng, chúng ta biết đối tượng trống

function isEmptyObject[obj]{
    return JSON.stringify[obj] === '{}'
}

 

4. Sử dụng jQuery

jQuery.isEmptyObject[obj]; 

Bài đọc liên quan Biểu tượng @ trong Python là gì và tôi sử dụng nó như thế nào?

 

5. Sử dụng thư viện Underscore và Lodash

_.isEmpty[obj];

Năm cách nhanh chóng và dễ dàng này để kiểm tra xem một đối tượng có trống không trong JavaScript là tất cả những gì bạn cần để bắt đầu

Một đối tượng là một trong những kiểu dữ liệu được sử dụng phổ biến nhất trong lập trình. Một đối tượng là một tập hợp các dữ liệu có liên quan được lưu trữ dưới dạng các cặp khóa-giá trị. Ví dụ

let userDetails = {
  name: "John Doe",
  username: "jonnydoe",
  age: 14,
}

Khi làm việc với các đối tượng, bạn có thể cần kiểm tra xem một đối tượng có trống không trước khi thực hiện một chức năng

Trong JavaScript, có nhiều cách khác nhau để bạn có thể kiểm tra xem một đối tượng có trống không. Trong bài viết này, bạn sẽ tìm hiểu các cách khác nhau để thực hiện việc này, các tùy chọn có thể được đính kèm và tại sao

Ghi chú. Một đối tượng được coi là trống khi nó không có cặp khóa-giá trị

Trong trường hợp bạn đang vội, đây là một ví dụ cơ bản

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]

Cả hai phương thức sẽ trả về

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
7. Bây giờ chúng ta hãy hiểu những điều này và nhiều tùy chọn khác mà bạn có thể sử dụng để kiểm tra xem một đối tượng có trống không trong JavaScript

Cách kiểm tra xem một đối tượng có trống không với
const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
8

Phương thức

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
8 là một phương thức đối tượng tĩnh được giới thiệu trong ECMAScript6 [ES6] và được hỗ trợ trong tất cả các trình duyệt hiện đại. Phương thức này trả về một mảng với các khóa của một đối tượng. Ví dụ

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
0

Với điều này, bây giờ bạn có thể áp dụng thuộc tính

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
00. Nếu nó trả về số không [0], đối tượng trống

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
2

Bây giờ bạn có thể sử dụng phương pháp này để kiểm tra xem một đối tượng có trống không bằng câu lệnh if hoặc tạo một hàm kiểm tra

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
3

Điều này sẽ trả về

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
7 hoặc
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
02. Nếu đối tượng trống, nó sẽ trả về
const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
7, ngược lại, nó sẽ trả về
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
02

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
8

Ghi chú. Chỉ kiểm tra độ dài không phải là lựa chọn tốt nhất khi kiểm tra xem một đối tượng có trống hay cho bất kỳ kiểu dữ liệu nào không. Tốt nhất là luôn xác nhận xem loại dữ liệu có đúng không

Để làm điều này, bạn có thể sử dụng kiểm tra hàm tạo

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
9

Bằng cách này, bạn có trách nhiệm kiểm tra kỹ lưỡng hơn

Cho đến nay, mọi thứ đã hoạt động tốt. Nhưng bạn cũng có thể muốn tránh ném

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
05 khi một biến là
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
06 hoặc giá trị của
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
07 được truyền thay vì
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
08. Để khắc phục điều này, bạn có thể thêm một kiểm tra bổ sung

function isEmptyObject[obj]{
    return JSON.stringify[obj] === '{}'
}
4

Trong đoạn mã trên, một kiểm tra bổ sung được thêm vào. Điều này có nghĩa là nó sẽ trả về

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
07 hoặc
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
06 nếu nó không phải là một đối tượng trống, như trong ví dụ bên dưới

function isEmptyObject[obj]{
    return JSON.stringify[obj] === '{}'
}
7

Ghi chú. Điều này áp dụng cho các phương thức tĩnh đối tượng khác, nghĩa là bạn có thể sử dụng

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
21 hoặc
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
22 thay vì
const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
8

Cách kiểm tra xem một đối tượng có trống không bằng vòng lặp
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
24

Một phương pháp khác mà bạn có thể sử dụng là vòng lặp ES6

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
24. Bạn có thể sử dụng vòng lặp này cùng với phương thức
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
26

jQuery.isEmptyObject[obj]; 
4

Phương thức trên sẽ lặp qua từng thuộc tính đối tượng. Nếu nó tìm thấy một lần lặp, đối tượng không trống. Ngoài ra,

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
26 sẽ trả về một giá trị boolean cho biết liệu đối tượng có thuộc tính được chỉ định làm thuộc tính của nó hay không

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
0

Cách kiểm tra xem một đối tượng có trống không với
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
28

Bạn cũng có thể sử dụng phương thức

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
29, được sử dụng để chuyển đổi giá trị JavaScript thành chuỗi JSON. Điều này có nghĩa là nó sẽ chuyển đổi các giá trị đối tượng của bạn thành một sting của đối tượng. Ví dụ

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
1

Điều này có nghĩa là khi nó là một đối tượng trống, thì nó sẽ trả về

function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
30. Bạn có thể tận dụng điều này để kiểm tra đối tượng trống

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
2

Điều này sẽ trả về

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
7 nếu đối tượng trống, nếu không thì
function isEmpty[obj] {
    for[var prop in obj] {
        if[obj.hasOwnProperty[prop]]
            return false;
    }
    return true;
}
02

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
3

Cách kiểm tra xem một đối tượng có trống không với Lodash

Cuối cùng, một số phương pháp tôi đã giải thích ở đây có thể hoạt động với các phiên bản trình duyệt cũ hơn, trong khi các phương pháp khác có thể không hoạt động. Nếu bạn lo lắng về một giải pháp sẽ hoạt động cho cả phiên bản trình duyệt cũ và hiện đại, bạn có thể sử dụng Lodash

Lodash là một thư viện tiện ích JavaScript hiện đại có thể thực hiện nhiều chức năng JavaScript với cú pháp rất cơ bản

Ví dụ bạn muốn kiểm tra xem một đối tượng có trống hay không, bạn chỉ cần sử dụng phương thức "isEmpty"

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
4

Cài đặt Lodash vào dự án của bạn khá dễ dàng. Tất cả những gì bạn phải làm là sử dụng lệnh này

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
5

Bây giờ bạn có thể khởi tạo phương thức gạch dưới và sử dụng phương thức này

const myEmptyObj = {};

// Works best with new browsers
Object.keys[myEmptyObj].length === 0 && myEmptyObj.constructor === Object

// Works with all browsers
_.isEmpty[myEmptyObj]
6

Đó là nó. 💪

Tôi rất thích khám phá nhiều cách khác nhau mà bạn có thể kiểm tra xem một đối tượng có trống không. Vui lòng sử dụng phương pháp tốt nhất phù hợp với dự án hoặc nhiệm vụ của bạn

Chúc các bạn code vui vẻ

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Joel Olawanle

Nhà phát triển Frontend & Người viết kỹ thuật

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm cách nào để kiểm tra đối tượng trống trong JavaScript bằng lodash?

The Lodash _. Phương thức isEmpty[] Kiểm tra xem giá trị có phải là một đối tượng, bộ sưu tập, bản đồ hoặc tập hợp trống không. Các đối tượng được coi là trống nếu chúng không có thuộc tính khóa chuỗi vô số riêng. Bộ sưu tập được coi là trống nếu chúng có độ dài bằng 0.

Làm cách nào để kiểm tra xem đối tượng JavaScript có trống không?

Sử dụng đối tượng. . keys sẽ trả về một mảng chứa tên thuộc tính của đối tượng. Nếu độ dài của mảng là 0 thì chúng ta biết rằng đối tượng trống.

Lodash isEmpty có kiểm tra NULL không?

Phương thức này trả về true nếu giá trị rỗng và ngược lại. Nếu giá trị là boolean hoặc null , nó sẽ luôn trả về true . Nếu giá trị là một bộ sưu tập, phương thức này sẽ đánh giá độ dài của nó để xác định xem nó có trống không.

Làm cách nào để kiểm tra tất cả các thuộc tính của một đối tượng cho dù JavaScript rỗng hay rỗng?

Bạn có thể sử dụng đối tượng. values[] để lấy tất cả các giá trị của đối tượng [dưới dạng một mảng giá trị của đối tượng] và sau đó kiểm tra xem mảng giá trị này có chứa giá trị null hoặc "" hay không, với sự trợ giúp của _. bao gồm phương pháp được cung cấp bởi thư viện lodash

Chủ Đề