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!