Heim >Web-Frontend >js-Tutorial >Wie füge ich Mitglieder bedingt zu einem JavaScript-Objekt hinzu?

Wie füge ich Mitglieder bedingt zu einem JavaScript-Objekt hinzu?

DDD
DDDOriginal
2024-12-04 06:56:09694Durchsuche

How to Conditionally Add Members to a JavaScript Object?

Bedingtes Hinzufügen von Mitgliedern zu einem Objekt in JavaScript

Frage: Wie kann ich Mitglieder dynamisch zu einem Objekt hinzufügen? abhängig von bestimmten Bedingungen, in JavaScript?

Initial Ansatz:

Ein einfacher Ansatz besteht darin, eine if-Anweisung zu verwenden, um das Mitglied hinzuzufügen, wenn die Bedingung erfüllt ist:

var a = {};
if (someCondition)
    a.b = 5;

Idiomatische Lösung:

Um einen idiomatischeren und prägnanteren Code zu schreiben, vermeiden Sie die Verwendung von undefiniert als Wert für bedingte Elemente. Verwenden Sie stattdessen den bedingten ternären Operator:

a = {
    b: (someCondition? 5 : undefined)
};

Dieser Ansatz führt jedoch immer noch dazu, dass das b-Mitglied mit einem undefinierten Wert definiert wird, wenn die Bedingung nicht erfüllt ist.

ES6 Lösung mit logischem UND:

Für den allgemeinen Fall mit mehreren Mitgliedern führt ES6 eine clevere Lösung ein, die den Spread-Operator und logisches UND verwendet Kurzschlussauswertung:

const a = {
   ...(someCondition && {b: 5})
}

Der logische UND-Operator (&&) wird als falsch ausgewertet, wenn einer seiner Operanden falsch ist. Da undefiniert in JavaScript falsch ist und someCondition falsch ist, wird das Objekt {b: 5} nicht in den Spread-Operator einbezogen, wodurch effektiv verhindert wird, dass das b-Mitglied zum Objekt hinzugefügt wird.

Das obige ist der detaillierte Inhalt vonWie füge ich Mitglieder bedingt zu einem JavaScript-Objekt hinzu?. 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