功能说明
把 URL 查询字符串解析为普通对象,遵循常见约定:百分号解码、重复键归并为数组、无等号的关键字视为 true。完整 URL 与裸查询字符串都可接受,因为二者在实践中经常混用。
运行命令
node query.mjs "tag=js&tag=node&q=hello%20world&debug"
预期输出
示例包含重复键、编码值与一个标志位,应分别解析为数组、字符串与 true,输出为:
{
"tag": [
"js",
"node"
],
"q": "hello world",
"debug": true
}
限制
不校验或规范化取值;同一键出现一次为字符串、重复则为数组,调用方需要自行处理这两种形态。
上述代码与预期输出严格对应,可在本地按运行命令复现并逐项核对。当前实现覆盖了最常见的使用路径,超出上文限制所述边界的场景需要额外的设计与实现。若要在生产环境使用,建议先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。
本译文由 AI 依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读。