Heim >Web-Frontend >js-Tutorial >Wie kann ich Null- und undefinierte Attribute aus einem JavaScript-Objekt entfernen?

Wie kann ich Null- und undefinierte Attribute aus einem JavaScript-Objekt entfernen?

DDD
DDDOriginal
2024-12-02 00:53:10710Durchsuche

How Can I Remove Null and Undefined Attributes from a JavaScript Object?

Leere Attribute aus einem Objekt in JavaScript entfernen

JavaScript-Objekteigenschaften können manchmal undefinierte oder Nullwerte enthalten. Dies kann zu Schwierigkeiten bei der Arbeit mit Daten führen und es schwierig machen, Konsistenz und Genauigkeit aufrechtzuerhalten. Das Entfernen dieser leeren Attribute kann für die Optimierung des Codes und die Verbesserung der Datenintegrität von Vorteil sein.

Übersicht

Um alle Attribute zu entfernen, die in einem JavaScript-Objekt undefiniert oder null sind, können Sie die folgenden Ansätze verwenden:

Iterativ (funktional Stil)

  1. ES10/ES2019 Beispiel:

    let o = Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
  2. ES6/ES2015 Beispiel:

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

Iterativ (Imperativer Stil)

  1. ES10/ES2019 Beispiel:

    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;
    }

Rekursiv

  1. ES10/ES2019 Beispiel:

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

Das obige ist der detaillierte Inhalt vonWie kann ich Null- und undefinierte Attribute aus einem JavaScript-Objekt entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn