NodeJS - urlSearchParams.keys() 方法



URLSearchParams 类 的 NodeJS urlSearchParams.keys() 方法返回一个 ES6 迭代器,该迭代器允许迭代每个名称-值对的所有名称。

URLSearchParams API 提供了一些方法,用于读取和写入 URL 的查询。此类在全局对象上也可用。

让我们考虑一个 YouTube URL ('https://www.youtube.com/watch?t=RS?f=TS&g=FR),其中 '?' 后面的部分被称为查询段。在此查询中,(t) 是名称,(RS) 是值。它共同构成了一个名称-值对。查询字符串中有三个名称/值对。因此,如果我们将查询字符串分配给 key() 方法,它会在每个名称-值对的名称上返回一个 ES6 迭代器。

语法

以下是 NodeJS URLSearchParams.keys() 方法的语法


 URLSearchParams.keys()

参数

此方法不接受任何参数。

返回值

此方法在每个名称/值对的名称上返回一个 ES6 迭代器。

以下示例演示了 NodeJS URLSearchParams.keys() 方法的用法:

如果输入 URL 字符串包含查询段,则 NodeJS urlSearchParams.keys() 方法将返回一个迭代器,该迭代器覆盖查询字符串中的名称-值对的名称。

在以下示例中,我们尝试从查询字符串的名称/值对中获取名称。


const url = require('node:url');

const MyUrl = new URL('https://www.qikepu.com?Monday=1&Thursday=4&Friday=5');
console.log("URL: ", MyUrl.href);

const Params = new URLSearchParams('monday=1&thursday=4&friday=5');
console.log("Query string: " + Params);
console.log('All the names in the query string are: ');
for (const name of Params.keys()) {
	 	 console.log(name);
}

输出

正如我们在下面的输出中看到的,NodeJS keys() 方法返回名称-值对中的所有名称。

URL: https://www.qikepu.com/?Monday=1&Thursday=4&Friday=5
Query string: monday=1&thursday=4&friday=5
All the names in the query string are:
monday
thursday
friday

在以下示例中,我们将一些名称/值对追加到输入查询字符串中。然后,我们尝试从名称-值对中获取名称。


const url = require('node:url');

const Params = new URLSearchParams('Monday=1&Thursday=4&Friday=5');
console.log("Query string: " + Params);

Params.append('Saturday', 6);
Params.append('Sunday', 7);
console.log('All the names in the query string are: ');

for (const name of Params.keys()) {
	 	 console.log(name);
}

输出

在执行上述程序时,它将生成以下输出

Query string: Monday=1&Thursday=4&Friday=5
All the names in the query string are:
Monday
Thursday
Friday
Saturday
Sunday