I would like to create an object with a member added conditionally. The simple approach is:
var a = {};
if (someCondition)
a.b = 5;
Now, I would like to write a more idiomatic code. I am trying:
a = {
b: (someCondition? 5 : undefined)
};
But now, b
is a member of a
whose value is undefined
. This is not the desired result.
Is there a handy solution?
Update
I seek for a solution that could handle the general case with several members.
a = {
b: (conditionB? 5 : undefined),
c: (conditionC? 5 : undefined),
d: (conditionD? 5 : undefined),
e: (conditionE? 5 : undefined),
f: (conditionF? 5 : undefined),
g: (conditionG? 5 : undefined),
};
a.b
, retrievinga.b
would returnundefined
anyway. – Chandain
operator is used. – JoiejoinconditionB-G
actually represent. Perhaps a loop would be helpful? – JoiejoinconditionB-G
are independent conditions which are not known a priori. – Superfecundationif
in a loop. – Joiejoin