Hướng dẫn remove null in object javascript - loại bỏ null trong đối tượng javascript

Ví dụ về ES10/ES2019

Một lớp một đơn giản (trả về một đối tượng mới).

let o = Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));

Giống như trên nhưng được viết là một chức năng.

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}

Hàm này sử dụng đệ quy để loại bỏ các mục khỏi các đối tượng lồng nhau.

function removeEmpty(obj) {
  return Object.fromEntries(
    Object.entries(obj)
      .filter(([_, v]) => v != null)
      .map(([k, v]) => [k, v === Object(v) ? removeEmpty(v) : v])
  );
}

Ví dụ về ES6/ES2015

Một lớp lót đơn giản. CẢNH BÁO: Điều này làm đột biến đối tượng đã cho thay vì trả lại một đối tượng mới.

Object.keys(obj).forEach((k) => obj[k] == null && delete obj[k]);

Một tuyên bố duy nhất (không biến đổi đối tượng đã cho).

let o = Object.keys(obj)
  .filter((k) => obj[k] != null)
  .reduce((a, k) => ({ ...a, [k]: obj[k] }), {});

Giống như trên nhưng được viết là một chức năng.

Hàm này sử dụng đệ quy để loại bỏ các mục khỏi các đối tượng lồng nhau.

Hàm này sử dụng đệ quy để loại bỏ các mục khỏi các đối tượng lồng nhau.

function removeEmpty(obj) {
  return Object.entries(obj)
    .filter(([_, v]) => v != null)
    .reduce(
      (acc, [k, v]) => ({ ...acc, [k]: v === Object(v) ? removeEmpty(v) : v }),
      {}
    );
}

Ví dụ về ES6/ES2015

function removeEmpty(obj) {
  const newObj = {};
  Object.entries(obj).forEach(([k, v]) => {
    if (v === Object(v)) {
      newObj[k] = removeEmpty(v);
    } else if (v != null) {
      newObj[k] = obj[k];
    }
  });
  return newObj;
}

Một lớp lót đơn giản. CẢNH BÁO: Điều này làm đột biến đối tượng đã cho thay vì trả lại một đối tượng mới.

Một tuyên bố duy nhất (không biến đổi đối tượng đã cho).

function removeEmpty(obj) {
  return Object.entries(obj)
    .filter(([_, v]) => v != null)
    .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {});
}

function removeEmpty(obj) {
  return Object.keys(obj)
    .filter(function (k) {
      return obj[k] != null;
    })
    .reduce(function (acc, k) {
      acc[k] = obj[k];
      return acc;
    }, {});
}

Giống như hàm trên, nhưng được viết theo phong cách bắt buộc (không chức năng).

function removeEmpty(obj) {
  const newObj = {};
  Object.keys(obj).forEach(function (k) {
    if (obj[k] && typeof obj[k] === "object") {
      newObj[k] = removeEmpty(obj[k]);
    } else if (obj[k] != null) {
      newObj[k] = obj[k];
    }
  });
  return newObj;
}

Ví dụ về ES5/ES2009

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
0

Xóa các giá trị null khỏi một đối tượng #

Để xóa tất cả các giá trị null khỏi một đối tượng:

  1. Sử dụng phương thức
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    5 để lấy một mảng các phím của đối tượng.
  2. Sử dụng phương thức
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    6 để lặp qua mảng các phím.
  3. Kiểm tra xem mỗi giá trị có bằng
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    7 không và xóa các giá trị
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    7 bằng toán tử
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    9.

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
1

Phương thức đối tượng.keys trả về một mảng chứa các phím của đối tượng.

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
2

Phương pháp mảng

Hàm chúng tôi đã chuyển sang phương thức

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
6 được gọi với từng phần tử (khóa) trong mảng.

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
1

Chúng tôi kiểm tra xem giá trị, được liên kết với khóa hiện tại bằng

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
7 và nếu điều kiện được đáp ứng, chúng tôi sử dụng toán tử xóa để xóa cặp giá trị khóa.

Ngoài ra, bạn có thể sử dụng vòng lặp

function removeEmpty(obj) {
  return Object.fromEntries(
    Object.entries(obj)
      .filter(([_, v]) => v != null)
      .map(([k, v]) => [k, v === Object(v) ? removeEmpty(v) : v])
  );
}
2.

Để xóa tất cả các giá trị null khỏi một đối tượng:

  1. Sử dụng vòng
    function removeEmpty(obj) {
      return Object.fromEntries(
        Object.entries(obj)
          .filter(([_, v]) => v != null)
          .map(([k, v]) => [k, v === Object(v) ? removeEmpty(v) : v])
      );
    }
    
    2 để lặp lại đối tượng.
  2. Trên mỗi lần lặp, kiểm tra xem giá trị có bằng
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    7 không.
  3. Sử dụng toán tử
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    9 để xóa từng giá trị
    function removeEmpty(obj) {
      return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
    }
    
    7.

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
4

FOR ... trong vòng lặp cho phép chúng ta lặp lại các thuộc tính của đối tượng.

Chúng tôi kiểm tra xem giá trị của thuộc tính hiện tại có bằng

function removeEmpty(obj) {
  return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
}
7 không và nếu có điều kiện được đáp ứng, chúng tôi sẽ xóa cặp giá trị khóa.

Đọc thêm #

  • Xóa tất cả các giá trị không xác định khỏi một đối tượng trong JavaScript
  • Xóa đối tượng khỏi một mảng bằng giá trị của nó trong JavaScript
  • Xóa các giá trị Falsy khỏi một đối tượng trong JavaScript
  • Xóa thuộc tính khỏi tất cả các đối tượng trong mảng trong JavaScript
  • Cách đổi tên khóa của một đối tượng trong JavaScript
  • Kiểm tra xem giá trị có phải là đối tượng sử dụng JavaScript không

Làm thế nào để bạn loại bỏ null khỏi một đối tượng?

Để xóa tất cả các giá trị null khỏi một đối tượng: sử dụng đối tượng. Phương thức khóa () để có được một mảng các phím của đối tượng. Sử dụng phương thức foreach () để lặp qua mảng các phím. Kiểm tra xem mỗi giá trị có bằng null và xóa các giá trị null bằng toán tử xóa không.

Tại sao Null trong JavaScript là đối tượng?

Giá trị null đại diện cho sự vắng mặt có chủ ý của bất kỳ giá trị đối tượng nào.Đây là một trong những giá trị nguyên thủy của JavaScript và được coi là giả cho các hoạt động Boolean.represents the intentional absence of any object value. It is one of JavaScript's primitive values and is treated as falsy for boolean operations.

Làm thế nào để bạn loại bỏ các giá trị null khỏi một mảng?

Để xóa tất cả các giá trị null khỏi một mảng: khai báo biến kết quả và đặt nó thành một mảng trống.Sử dụng phương thức foreach () để lặp qua mảng.Kiểm tra xem mỗi phần tử không bằng null.Nếu điều kiện được thỏa mãn, đẩy phần tử vào mảng kết quả.Declare a results variable and set it to an empty array. Use the forEach() method to iterate over the array. Check if each element is not equal to null . If the condition is satisfied, push the element into the results array.

Làm thế nào để bạn kiểm tra xem đối tượng JavaScript có trống không?

Để kiểm tra xem một đối tượng có trống trong JavaScript không:..
Chuyển đối tượng cho đối tượng.Phương thức khóa để nhận một mảng các phím của đối tượng ..
Truy cập thuộc tính độ dài trên mảng ..
Kiểm tra xem độ dài của các phím có bằng 0 không, nếu có, thì đối tượng trống ..