排行榜 统计
  • 建站日期:2020-07-15
  • 文章总数:63 篇
  • 评论总数:1456 条
  • 分类总数:6 个
  • 最后更新:2023年03月28日

Node.js中常见的参数字典升序排序及拼接

本文阅读 2 分钟
首页 精品教程 正文

Node.js中常见的参数字典升序排序及拼接

相信大家在开发过程中都遇到一些API请求的时候需要验证签名,并且还需要对参数名字典升序排序及拼接,或许真的有用户拿着一堆参数一个一个的比较排序吧,这里给大家讲讲JS中比较常规的排序和拼接。

如果有熟悉php的用户应该会知道ksort方法,js是没有这个方法的,但是我们可以自己封装一个,比较简单,代码如下:


function ksort(obj){
  let sortObj = {},
  keys = Object.keys(obj);
  keys.sort();
  keys.forEach((key)=>{
            sortObj[key] = obj[key];
    })
  return sortObj;
};

主要方法就是通过Object.keys方法获取对象的键组成一个数组,然后对键进行排序,最后根据排序后的数组构建出新的排序后的对象。有时候不同的接口需要的参数是不同的参数,所以我们传递的参数也不同,但是如果对每一个接口都写一个参数对象就比较麻烦了,这里我们可以通过if去掉参数中为空的值,如下:


if(obj[key]){
    sortObj[key] = obj[key];
 }

这样obj参数中如果其中的参数为空,这样我们就可以得到一个剔除后的并且排序了的参数对象。至于拼接的话php中有http_build_query()函数,node.js中也有对应的模块,qs模块含有解析和序列化方法,使用方法如下:


let str = qs.stringify(obj)

一般api还需要将apikey拼接到最后,这里直接连接上就行了,如下:


let signStr = str + '&apikey=' + apiKey;

以上就是本次的内容了,如果还有什么不懂的可以私信或者留言。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.i4qq.com/jpjc/nodejszcjdcszdsxpj.html
Node.js关于微信支付V3版相关处理方法
« 上一篇 07-12
关于typecho1.2适配的问题新版
下一篇 » 11-16

发表评论

成为第一个评论的人

作者信息

热门文章

标签TAG

热评文章