对数组对象处理及其他小问题

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以外的值。

原文地址:https://www.cnblogs.com/kaiqinzhang/p/11308995.html