URL参数 · 数组对象 · 树列表 · Map对象 · 金额 · CSV · 表单 · querystring
场景:从 ?name=Tom&age=18&tags=a&tags=b 解析成 { name:'Tom', age:18, tags:['a','b'] }。
decodeURIComponent 解码中文和特殊字符;要把 + 还原成空格;重复 key 要合并成数组。场景:发起 GET 请求前把参数对象拼到 URL 后面。axios 就是这么做的。
场景:表头+行数据 → 对象数组;对象按 key 提取成数组;数组转成以 id 为 key 的 map。
arrayToMap 转 map 方便按 id 查找,比每次 find 高效(O(1) vs O(n))。场景:菜单树要存数据库(转扁平带 pid);后端返回树要展示成列表(转扁平)。前端必考。
场景:JSON 不支持 Map,传输时要转 Object;接收后再转回 Map 保留插入顺序。
场景:后端数据库存"分"(整数),前端展示"元";输入框输入元,提交时转分。支付业务必考。
0.1 + 0.2 = 0.30000000000000004,必须用 Math.round 处理。这是支付代码出错率最高的地方。场景:导出 Excel 报表时把数据转 CSV;读取 CSV 文件转成对象数组。后台管理高频。
场景:提交 form 表单前把所有字段聚合成一个对象;Vue/React 表单提交。
场景:合同金额、发票、收据需要中文大写金额。"壹仟贰佰叁拾肆元整"。
场景:qs 库的核心功能。支持 a[b][c]=1 这种嵌套对象语法。
[key] 表示层级;解析时用正则 /[\[\]]/ 拆出各级 key,reduce 逐层建对象。生产环境直接用 qs 库。