JavaScript如何获取URL查询字符串的第一个参数键名
错误根源
URLSearchParams的keys是迭代器生成方法,不是存储参数键的数组属性,直接访问.keys[0]必然返回undefined- 额外优化点:
new URLSearchParams()建议传入window.location.search(仅查询参数部分),而非完整href,避免特殊场景下的解析异常 - 你的代码中变量名
parmsFromUrl为拼写误差,标准拼写为params,不过该问题不影响核心逻辑运行
正确实现
方案1:迭代器转数组(适合需要后续操作全量参数键的场景)
const paramsFromUrl = new URLSearchParams(window.location.search); const firstParamKey = Array.from(paramsFromUrl.keys())[0];
方案2:直接调用迭代器(性能更优,无需遍历所有参数)
const paramsFromUrl = new URLSearchParams(window.location.search); const firstParamKey = paramsFromUrl.keys().next().value;
注意事项
如果URL没有携带任何查询参数,两种方案得到的firstParamKey都会为undefined,可根据业务需求补充非空判断逻辑。
内容的提问来源于stack exchange,提问作者Marc
相关产品推荐
相关产品推荐

