function compress(source) { const keys = {}; ?--- 存储目标key source.replace( /([^=&]+)=([^&]*)/g,function(full,key,value) { ?--- 提取键值对信息 keys[key] =(keys[key] ? keys[key] + "," : "") + value; return ""; } ); const result = []; for (let key in keys) { result.push(key + "=" + keys[key]); } ?--- 收集key信息 return result.join("&"); ?--- 使用&符号链接结果 } assert(compress("foo=1&foo=2&blah=a&blah=b&foo=3") === "foo=1,2,3&blah=a,b","Compression is OK!");
使用正则表达式加replace 方法处理字符串
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。