转自:https://blog.csdn.net/qianqianyixiao1/article/details/51146512
今天做后台整合的时候,遇到一个对象的中key名为一个变量的问题:
看后台提供的参数格式:
访问路径:/sf/service/user/find/list
请求方式:GET
请求参数:requestParams //参数需要URL编码encodeURIComponent(JSON.stringify(obj))
//查询JSON实例:
{
condition:{
companyId: , // int, default is null
firstName : , // string, default is null
lastName: , // string, default is null
enabled: // true or false, default is null
},
order:{
// fieldName 是一个动态的属性, 它可以是id/firstName/lastName/login/companyName/email
// value 只允许两个值 'asc' 或 'desc'. 默认是'asc'
fieldName: value
},
pageNum: //页数
}
看需求这个字段(即键的名字“fieldName”)是一个变量,根据不同的传值作修改。
我的做法:
var fieldName=_fieldName;//定义为变量
var obj= {
condition:{
companyId:_companyId , // int, default is null
firstName : _firstName, // string, default is null
lastName: _lastName, // string, default is null
enabled: _enabled // true or false, default is null
},
order:{
// fieldName 是一个动态的属性, 它可以是id/firstName/lastName/login/companyName/email
// value 只允许两个值 'asc' 或 'desc'. 默认是'asc'
},
pageNum:_pageNum //页数
};
obj.order[fieldName]=_value//然后添加进去
先在对象中删除这个,然后用[]符增加一个。
写法总结:
var fieldName = "email";var order = {};
order[fieldName] = "asc"