gpt4 book ai didi

javascript - 如何获取 URL searchParams 的大小(或长度)?

转载 作者:行者123 更新时间:2023-12-01 15:10:03 25 4
gpt4 key购买 nike

如何从 URLSearchParams 获取大小?
我发现

Array.from(url.searchParams).length

这个答案在这里 https://github.com/whatwg/url/issues/163

它最正确的答案是什么?

最佳答案

TL;DR:这取决于您是否关心唯一键。

正常情况下,searchParams 是一个映射(唯一键),可以正常工作:

const url = new URL("protocol://domain?query=value1&query1=value2&query2=value");
console.log(Array.from(url.searchParams).length);
// Output is 3


但是,当 searchParams 不是 map 时,您需要小心:

const url = new URL("protocol://domain?query=value1&query=value2&query2=value");
console.log(Array.from(url.searchParams).length);
// Output is still 3


在这种情况下,当转换为数组时,数组是 [["query", "value1"], ["query", "value2"], ["query2", "value"]] .如果您希望 searchParams 是一张 map ,这可能会非常令人困惑。

在这种情况下,为了找到唯一键,您应该使用类似于以下的方法提取它们:

const url = new URL("protocol://domain?query=value1&query=value2&query2=value");
const searchParams = Array.from(url.searchParams);
const searchParamsUniqueKeys = [];

for (const p of searchParams) {
if (!searchParamsUniqueKeys.includes(p[0])) {
searchParamsUniqueKeys.push(p[0]);
}
}
console.log(searchParamsUniqueKeys.length);
// Output is 2

关于javascript - 如何获取 URL searchParams 的大小(或长度)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42156024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com