Javascript 有条件地向对象添加键值
我有一个像这样的空物体 设queryParams={} 我想有条件地向此添加一些对象:Javascript 有条件地向对象添加键值,javascript,object,Javascript,Object,我有一个像这样的空物体 设queryParams={} 我想有条件地向此添加一些对象: if(status){ //add this adminapproval:req.body.approvalStatus } if(type){ //add this $or: [ Sequelize.where(Sequelize.fn('concat_ws', Sequelize.col('firstName'), ' ', Sequelize.col('lastNam
if(status){
//add this
adminapproval:req.body.approvalStatus
}
if(type){
//add this
$or: [
Sequelize.where(Sequelize.fn('concat_ws', Sequelize.col('firstName'), ' ', Sequelize.col('lastName')), {
$like: '%' + keyword + '%'
}),
{ email: { $like: '%' + keyword + '%' } },
{ company: { $like: '%' + keyword+ '%' } },
{ mobileNo: { $like: '%' + keyword+ '%' } },
{ city: { $like: '%' + keyword+ '%' } },
{ country: { $like: '%' + keyword+ '%' } }
]}
如果这两个条件为真,则最终对象如下所示:
{
adminapproval:req.body.approvalStatus,
$or: [
Sequelize.where(Sequelize.fn('concat_ws', Sequelize.col('firstName'), ' ', Sequelize.col('lastName')), {
$like: '%' + keyword + '%'
}),
{ email: { $like: '%' + keyword + '%' } },
{ company: { $like: '%' + keyword+ '%' } },
{ mobileNo: { $like: '%' + keyword+ '%' } },
{ city: { $like: '%' + keyword+ '%' } },
{ country: { $like: '%' + keyword+ '%' } }
]
}
我的解决方案是将这个单独的对象放入数组中,并在aloop中构建对象,但我认为这是一种不好的方法。还有其他方法吗?如果要向对象添加新的键值对,只需将value object.newkey赋值给对象,就好像对象已经有了该键值一样
let queryParams = {};
if(/*condition*/){
queryParams.adminapproval=req.body.approvalStatus;
}
if(/*condition2*/){
queryParams.key1=value1;
queryParams.key2=value2;
}
希望这就是你想要的