1.在函数传参很多的情况下,可以使用Object.assign()合并成一个对象,只传一个值。在接收后进行解构。如下例子
creates() { const { ctx } = this; const body = ctx.request.body; // post请求 const action = { action: 'developer.contact.create' }; const params = Object.assign(action, body); const result = await ctx.service.hive.request(params); ctx.body = { data: result }; ctx.status = 200; }
request(params) {
const { platform = 'lbs', action, body } = params;
//。。。。。
}
2.给对象的属性按字母顺序排序
const totalParams = { action, app_key: key, utc_timestamp: new Date().getTime(), biz_content }; const keys = Object.keys(totalParams); //取出对象的属性组成数组 keys.sort(); //给数组排序 const sortParams = keys.reduce((acuu, curr) => { acuu[curr] = totalParams[curr]; //利用累加,将原对象属性值一一对应赋值 return acuu; }, {});
3.取对象除了某个属性之外的属性组成的对象
const _ = require('lodash'); const totalParams = { action, app_key: key, utc_timestamp: new Date().getTime(), biz_content }; const queryString = stringify(_.omit(totalParams, [ 'biz_content' ])); //totalParams这个对象中除了biz_content以外的值。