首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合两个URLSearchParams()

组合两个URLSearchParams()
EN

Stack Overflow用户
提问于 2020-08-28 03:01:49
回答 2查看 568关注 0票数 1

快速问题:

是否可以合并URLSearchParams的两个实例

代码语言:javascript
复制
const params1 = new URLSearchParams();
const params2 = new URLSearchParams();

const finalParms = mergeThis(params1, params2) <- do this?

angular已经回答了这个问题,但简单地说,JavaScript URLSearchParams没有名为.appendAll()的成员

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-28 03:06:04

没有内置的方法可以做到这一点,但您可以简单地循环遍历条目并附加它们:

代码语言:javascript
复制
const params1 = new URLSearchParams("?foo=foo&bar=bar");
const params2 = new URLSearchParams("?baz=baz&nii=nii");
for (let [key, val] of params2.entries()) {
  params1.append(key, val);
}
console.log(params1.toString());

票数 2
EN

Stack Overflow用户

发布于 2020-08-28 03:09:15

不能,但您可以使用URLSearchParams.append()创建一个

代码语言:javascript
复制
function combineSearchParams(searchParams1, searchParams2) {
  const result = new URLSearchParams("");

  // Display the key/value pairs
  [searchParams1, searchParams2].map(params => {
    for(var pair of params.entries()) {
      result.append(pair[0], pair[1]);
    }
  });

  return result;
}

然后,您可以:

代码语言:javascript
复制
const searchParams1 =
  new URLSearchParams("key1=value1&key2=value2");
const searchParams2 =
  new URLSearchParams("key3=value3&key4=value4");

const combined =
 combineSearchParams(searchParams1, searchParams2);

// "key1=value1&key2=value2&key3=value3&key4=value4"
console.log(combined.toString());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63622622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档