是否有一些基于条件设置属性的语法?
data: {
userId: 7,
actionId: 36,
express: (myCondition ? true : null) // does not work
}
我希望express
要么被设置为一个值,要么根本不被设置(即,不应该有名为express
的键),并且在定义之后没有额外的语句。我知道我可以将它用作布尔值,但接收方正在使用isset()
检查,我想知道是否可以避免修改它。
编辑:似乎没有直接解决上述问题的方法。以下是近距离的建议:
JSON.stringify (Chris Kessel,dystroy):
var json = JSON.stringify( {
data: {
userId: 7,
actionId: 36,
express: (myCondition ? true : null)
}
});
一个匿名函数 (Paulpro):
var data = new function(){
this.userId = 7;
this.actionId = 36;
myCondition && (this.express = true);
};
a extra statement (x4rf41):
data: {
userId: 7,
actionId: 36
}
if(myCondition) data["express"] = true;
Eval (我的一个前同事):
eval("data = {userId: 7, actionId: 36 " + (myCondition ? ", express: true}" : "}"))
Conditional definition (不知道如何标记这个):
data = (
(myCondition && { userId: 7, actionId: 36, express: true }) ||
(!myCondition && { userId: 7, actionId: 36 })
);
https://stackoverflow.com/questions/18019854
复制相似问题