整理网络,并且自己根据需要做了修改

//排序的函数******此处降序********
var objKeySort = function (obj) {
    //先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
    var newkey = Object.keys(obj).sort().reverse();
    //创建一个新的对象,用于存放排好序的键值对
    var newObj = {};
    //遍历newkey数组
    for (var i = 0; i < newkey.length; i++) {
        //向新创建的对象中按照排好的顺序依次增加键值对
        newObj[newkey[i]] = obj[newkey[i]];
    }
    //返回排好序的新对象
    return newObj;
};

//md5加密     hex_md5() 请引用 md5.js
var encodeMd5 = function (obj) {
    //先用Object内置类的keys方法获取要排序对象的属性名,再利用Array原型上的sort方法对获取的属性名进行排序,newkey是一个数组
    // var newkey = Object.keys(obj).sort().reverse();
    var newkey = Object.keys(obj);

    //创建一个新的变量,用于存放拼接字符串
    var newStr = '';

    //遍历newkey数组
    for (var i = 0; i < newkey.length; i++) {
        //拼接字符串拼接值以及连接符
        if(i){ newStr += "_"; }
        newStr += obj[newkey[i]];
    }

    return hex_md5(newStr);
};

//去除空格
var Trim = function (str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
03-17 01:27