javascript - 使用纯js从参数创建嵌套哈希?
问题描述
我有这个聪明的小块香草 Javascript 将 url 参数转换为哈希:
"a=a&b=b".split("&").reduce((function(params, param) {
var param_split = param.split("=").map(function(value) {
return decodeURIComponent(value.replace("+", " "));
});
params[param_split[0]] = param_split[1];
return params;
}), {});
输出此哈希:
{
a: "a",
b: "b"
}
但有时我会得到这样嵌套的 url 参数:
"a=a&b%5Bc%5D=bc&b%5Bd%5D=bd"
我的脚本将输出:
{
a: "a",
b[c]: "bc",
b[d]: "bd"
}
我应该怎么做才能输出这样的嵌套哈希?:
{
a: "a",
b: {
c: "bc",
d: "bd"
}
}
解决方案
推荐阅读
- docker - 不支持将 Docker Compose 迁移到 Kubernetes Volume Mount
- zfs - 多个磁盘上的 ZFS 数据同时损坏
- android - com.google.firebase.database.DatabaseException:无法将 java.lang.String 类型的对象转换为 com.example.noalumni.model.Users 类型
- visual-studio-code - VS Code - 查找快捷方式“when”表达式的面板/视图上下文名称
- python - 从 Azure Databricks 删除 SQL 数据库中的表
- php - PHP - 直接在字符串中提取函数结果
- django - Django ORM 从查询集中提取工作日作为字符串
- reactjs - 在React中的n数组中的x项上渲染父元素?
- react-redux - 如何开玩笑测试在componentDidMount中有api调用的连接组件
- android - 我们可以从 Android 中的 Google Drive API 检索数据吗?