Heim > Web-Frontend > js-Tutorial > Wie kann ich Objektmitglieder ohne undefinierte Eigenschaften bedingt in JavaScript hinzufügen?

Wie kann ich Objektmitglieder ohne undefinierte Eigenschaften bedingt in JavaScript hinzufügen?

Linda Hamilton
Freigeben: 2024-12-23 10:27:45
Original
792 Leute haben es durchsucht

How Can I Add Object Members Conditionally in JavaScript Without Undefined Properties?

Bedingtes Hinzufügen von Objektmitgliedern in JavaScript

In JavaScript ist es üblich, Mitglieder dynamisch zu Objekten hinzuzufügen. Wenn diese Zusätze jedoch bedingt sein müssen, führt der einfachste Ansatz oft zu undefinierten Mitgliedern.

Beim Versuch, einen idiomatischen Code zu erstellen:

a = {
    b: (someCondition? 5 : undefined)
};
Nach dem Login kopieren

das b-Mitglied wird dem hinzugefügt ein Objekt unabhängig vom someCondition-Ergebnis, was dazu führt, dass sein Wert undefiniert ist, wenn die Bedingung falsch ist.

Um dieses Problem zu beheben, kann eine präzisere Lösung mithilfe der Ausbreitung verwendet werden Operator (...) und logische UND-Kurzschlussauswertung (&&):

const a = {
   ...(someCondition && {b: 5})
}
Nach dem Login kopieren

Dieser Code macht bedingte Operatoren überflüssig. Der Spread-Operator erweitert die geschweiften Klammern in das a-Objekt und fügt das b-Element hinzu, wenn someCondition wahr ist. Die logische UND-Kurzschlussauswertung stellt sicher, dass die geschweiften Klammern nur dann ausgewertet werden, wenn someCondition wahr ist, wodurch das Hinzufügen eines undefinierten Elements verhindert wird.

Dieser Ansatz kann leicht erweitert werden, um mehrere bedingte Elemente zu verarbeiten:

const a = {
   ...(conditionB && {b: 5}),
   ...(conditionC && {c: 5}),
   ...(conditionD && {d: 5}),
   ...(conditionE && {e: 5}),
   ...(conditionF && {f: 5}),
   ...(conditionG && {g: 5}),
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Objektmitglieder ohne undefinierte Eigenschaften bedingt in JavaScript hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage