📌  相关文章
📜  来自对象 js 的查询字符串 - Javascript (1)

📅  最后修改于: 2023-12-03 14:55:30.026000             🧑  作者: Mango

来自对象 js 的查询字符串 - Javascript

在JavaScript中,可以使用内置的对象来处理URL查询字符串。URL查询字符串是URL中包含的参数,一般以问号(?)开头,参数之间以&符号分隔。

将对象转换为查询字符串

可以使用new URLSearchParams()方法来将JavaScript对象转换为查询字符串。以下是一个示例:

const params = {
  name: 'John Doe',
  age: 32,
  city: 'New York'
};

const queryString = new URLSearchParams(params).toString();
console.log(queryString);
// 输出: 'name=John%20Doe&age=32&city=New%20York'

在上面的例子中,我们将一个包含名称、年龄和城市等键值对的对象转换为查询字符串。toSting()方法将查询字符串转换为字符串。

将查询字符串转换为对象

可以使用URLSearchParams()构造函数来将查询字符串转换为JavaScript对象。以下是一个示例:

const queryString = 'name=John%20Doe&age=32&city=New%20York';
const params = new URLSearchParams(queryString);

const obj = {};
for (const [key, value] of params) {
  obj[key] = value;
}

console.log(obj);
// 输出: { name: 'John Doe', age: '32', city: 'New York' }

在上面的例子中,我们首先定义包含查询字符串的变量,然后创建一个URLSearchParams对象。接下来,我们定义一个空对象,并迭代查询参数(使用for-of循环和解构赋值)。最后,我们将参数键和值添加到空对象中。

获取特定参数的值

使用get()方法可以获取特定查询参数的值。以下是一个示例:

const queryString = 'name=John%20Doe&age=32&city=New%20York';
const params = new URLSearchParams(queryString);

const age = params.get('age');
console.log(age);
// 输出: '32'

在上面的例子中,我们首先创建一个包含查询字符串的URLSearchParams对象。接下来,我们使用get()方法获取age参数的值。

将查询字符串添加到URL

可以使用URL()构造函数来将查询字符串添加到URL。以下是一个示例:

const url = new URL('https://www.example.com');
const params = {
  name: 'John Doe',
  age: 32,
  city: 'New York'
};
url.search = new URLSearchParams(params).toString();

console.log(url.href);
// 输出: 'https://www.example.com/?name=John%20Doe&age=32&city=New%20York'

在上面的例子中,我们首先创建一个新的URL对象,并将其设置为https://www.example.com。然后,我们定义一个包含查询参数的对象,并使用URLSearchParams()函数将其转换为查询字符串。最后,我们将查询字符串添加到URL,并使用href属性输出完整的URL。