0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony語(yǔ)言基礎(chǔ)類(lèi)庫(kù)【@ohos.url (URL字符串解析)】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-24 22:13 ? 次閱讀

說(shuō)明:

本模塊首批接口從API version 7開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

import Url from '@ohos.url'

URLParams9+

URLParams接口定義了一些處理URL查詢字符串的實(shí)用方法。

constructor9+

constructor(init?: string[][] | Record | string | URLParams)

URLParams的構(gòu)造函數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù)

參數(shù)名類(lèi)型 HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿必填說(shuō)明
initstring[][]Recordstring

鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

搜狗高速瀏覽器截圖20240326151547.png

示例:

let objectParams = new Url.URLParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]);
let objectParams1 = new Url.URLParams({"fod" : '1' , "bard" : '2'});
let objectParams2 = new Url.URLParams('?fod=1&bard=2');
let urlObject = Url.URL.parseURL('https://developer.mozilla.org/?fod=1&bard=2');
let params = new Url.URLParams(urlObject.search);

append9+

append(name: string, value: string): void

將新的鍵值對(duì)插入到查詢字符串。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring需要插入搜索參數(shù)的鍵名。
valuestring需要插入搜索參數(shù)的值。

示例:

let urlObject = Url.URL.parseURL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLParams(urlObject.search.slice(1));
paramsObject.append('fod', '3');

delete9+

delete(name: string): void

刪除指定名稱(chēng)的鍵值對(duì)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring需要?jiǎng)h除的鍵值名稱(chēng)。

示例:

let urlObject = Url.URL.parseURL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLParams(urlObject.search.slice(1));
paramsObject.delete('fod');

getAll9+

getAll(name: string): string[]

獲取指定名稱(chēng)的所有鍵對(duì)應(yīng)值的集合。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring指定的鍵值名稱(chēng)。

返回值:

類(lèi)型說(shuō)明
string[]返回指定名稱(chēng)的所有鍵對(duì)應(yīng)值的集合。

示例:

let urlObject = Url.URL.parseURL('https://developer.exampleUrl/?fod=1&bard=2');
let params = new Url.URLParams(urlObject.search.slice(1));
params.append('fod', '3'); // Add a second value for the fod parameter.
console.log(params.getAll('fod').toString()) // Output ["1","3"].

entries9+

entries(): IterableIterator<[string, string]>

返回一個(gè)ES6的迭代器,迭代器的每一項(xiàng)都是一個(gè) JavaScript Array。Array的第一項(xiàng)是name,Array的第二項(xiàng)是value。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator<[string, string]>返回一個(gè)ES6的迭代器。

示例:

let searchParamsObject = new Url.URLParams("keyName1=valueName1&keyName2=valueName2"); 
for (var pair of searchParamsObject.entries()) { // Show keyName/valueName pairs
    console.log(pair[0]+ ', '+ pair[1]);
}

forEach9+

forEach(callbackFn: (value: string, key: string, searchParams: this) => void, thisArg?: Object): void

通過(guò)回調(diào)函數(shù)來(lái)遍歷URLSearchParams實(shí)例對(duì)象上的鍵值對(duì)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
callbackFnfunction回調(diào)函數(shù)。
thisArgObjectcallbackFn被調(diào)用時(shí)用作this值,默認(rèn)值是本對(duì)象。

表1 callbackFn的參數(shù)說(shuō)明

參數(shù)名類(lèi)型必填說(shuō)明
valuestring當(dāng)前遍歷到的鍵值。
keystring當(dāng)前遍歷到的鍵名。
searchParamsObject當(dāng)前調(diào)用forEach方法的實(shí)例對(duì)象。

示例:

const myURLObject = Url.URL.parseURL('https://developer.exampleUrl/?fod=1&bard=2'); 
myURLObject.params.forEach((value, name, searchParams) = > {  
    console.log(name, value, myURLObject.params === searchParams);
});

get9+

get(name: string): string | null

獲取指定名稱(chēng)對(duì)應(yīng)的第一個(gè)值。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring指定鍵值對(duì)的名稱(chēng)。

返回值:

類(lèi)型說(shuō)明
string返回第一個(gè)值。
null如果沒(méi)找到,返回 null。

示例:

let paramsObject = new Url.URLParams('name=Jonathan&age=18'); 
let name = paramsObject.get("name"); // is the string "Jonathan" 
let age = parseInt(paramsObject.get("age"), 10); // is the number 18

has9+

has(name: string): boolean

判斷一個(gè)指定的鍵名對(duì)應(yīng)的值是否存在。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring要查找的參數(shù)的鍵名。

返回值:

類(lèi)型說(shuō)明
boolean是否存在相對(duì)應(yīng)的key值,存在返回true,否則返回false。

示例:

let urlObject = Url.URL.parseURL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLParams(urlObject.search.slice(1)); 
let result = paramsObject.has('bard');

set9+

set(name: string, value: string): void

將與name關(guān)聯(lián)的URLSearchParams對(duì)象中的值設(shè)置為value。如果存在名稱(chēng)為name的鍵值對(duì),請(qǐng)將第一個(gè)鍵值對(duì)的值設(shè)置為value并刪除所有其他值。如果不是,則將鍵值對(duì)附加到查詢字符串。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring將要設(shè)置的參數(shù)的鍵值名。
valuestring所要設(shè)置的參數(shù)值。

示例:

let urlObject = Url.URL.parseURL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLParams(urlObject.search.slice(1));
paramsObject.set('baz', '3'); // Add a third parameter.

sort9+

sort(): void

對(duì)包含在此對(duì)象中的所有鍵值對(duì)進(jìn)行排序,并返回undefined。排序順序是根據(jù)鍵的Unicode代碼點(diǎn)。該方法使用穩(wěn)定的排序算法 (即,將保留具有相等鍵的鍵值對(duì)之間的相對(duì)順序)。

系統(tǒng)能力: SystemCapability.Utils.Lang

示例:

let searchParamsObject = new Url.URLParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object
searchParamsObject.sort(); // Sort the key/value pairs
console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4

keys9+

keys(): IterableIterator

返回一個(gè)所有鍵值對(duì)的name的ES6迭代器。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator返回一個(gè)所有鍵值對(duì)的name的ES6迭代器。

示例:

let searchParamsObject = new Url.URLParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var key of searchParamsObject .keys()) { // Output key-value pairs
    console.log(key);
}

values9+

values(): IterableIterator

返回一個(gè)所有鍵值對(duì)的value的ES6迭代器。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator返回一個(gè)所有鍵值對(duì)的value的ES6迭代器。

示例:

let searchParams = new Url.URLParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var value of searchParams.values()) {
    console.log(value);
}

[Symbol.iterator]9+

Symbol.iterator: IterableIterator<[string, string]>

返回一個(gè)ES6的迭代器,迭代器的每一項(xiàng)都是一個(gè) JavaScript Array。Array的第一項(xiàng)是name,Array的第二項(xiàng)是value。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator<[string, string]>返回一個(gè)ES6的迭代器。

示例:

const paramsObject = new Url.URLParams('fod=bay&edg=bap');
for (const [name, value] of paramsObject[Symbol.iterator]()) {
    console.log(name, value); 
}

tostring9+

toString(): string

返回序列化為字符串的搜索參數(shù),必要時(shí)對(duì)字符進(jìn)行百分比編碼。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
string返回序列化為字符串的搜索參數(shù),必要時(shí)對(duì)字符進(jìn)行百分比編碼。

示例:

let url = Url.URL.parseURL('https://developer.exampleUrl/?fod=1&bard=2');
let params = new Url.URLParams(url.search.slice(1)); 
params.append('fod', '3');
console.log(params.toString());

URL

用于解析、構(gòu)造、規(guī)范、編碼對(duì)應(yīng)的URL字符串。

屬性

系統(tǒng)能力: SystemCapability.Utils.Lang

名稱(chēng)類(lèi)型可讀可寫(xiě)說(shuō)明
hashstring獲取和設(shè)置URL的片段部分。
hoststring獲取和設(shè)置URL的主機(jī)部分。
hostnamestring獲取和設(shè)置URL的主機(jī)名部分,不帶端口。
hrefstring獲取和設(shè)置序列化的URL。
originstring獲取URL源的只讀序列化。
passwordstring獲取和設(shè)置URL的密碼部分。
pathnamestring獲取和設(shè)置URL的路徑部分。
portstring獲取和設(shè)置URL的端口部分。
protocolstring獲取和設(shè)置URL的協(xié)議部分。
searchstring獲取和設(shè)置URL的序列化查詢部分。
searchParams(deprecated)[URLSearchParams]獲取URLSearchParams表示URL查詢參數(shù)的對(duì)象。 -**說(shuō)明:**此屬性從API version 7開(kāi)始支持,從API version 9開(kāi)始被廢棄。建議使用params9+替代。
params9+[URLParams]獲取URLParams表示URL查詢參數(shù)的對(duì)象。
usernamestring獲取和設(shè)置URL的用戶名部分。

示例:

let that = url.URL.parseURL('http://username:password@host:8080/directory/file?foo=1&bar=2#fragment');
console.log("hash " + that.hash) // hash #fragment
console.log("host " + that.host) // host host:8080
console.log("hostname " + that.hostname) // hostname host
console.log("href " + that.href) // href http://username:password@host:8080/directory/file?foo=1&bar=2#fragment
console.log("origin " + that.origin) // origin http://host:8080
console.log("password " + that.password) // password password
console.log("pathname " + that.pathname) // pathname /directory/file
console.log("port " + that.port) // port 8080
console.log("protocol " + that.protocol) // protocol http:
console.log("search " + that.search) // search ?foo=1&bar=2
console.log("username " + that.username) // username username
// that.params 返回值為URLParams對(duì)象
console.log("params: foo " + that.params.get("foo")) // params: foo 1

constructor(deprecated)

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[parseURL9+]替代。

constructor(url: string, base?: string | URL)

URL的構(gòu)造函數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
urlstring入?yún)?duì)象。
basestringURL

示例:

let mm = 'https://username:password@host:8080';
let a = new Url.URL("/", mm); // Output 'https://username:password@host:8080/';
let b = new Url.URL(mm); // Output 'https://username:password@host:8080/';
new Url.URL('path/path1', b); // Output 'https://username:password@host:8080/path/path1';
let c = new Url.URL('/path/path1', b);  // Output 'https://username:password@host:8080/path/path1'; 
new Url.URL('/path/path1', c); // Output 'https://username:password@host:8080/path/path1';
new Url.URL('/path/path1', a); // Output 'https://username:password@host:8080/path/path1';
new Url.URL('/path/path1', "https://www.exampleUrl/fr-FR/toto"); // Output https://www.exampleUrl/path/path1
new Url.URL('/path/path1', ''); // Raises a TypeError exception as '' is not a valid URL
new Url.URL('/path/path1'); // Raises a TypeError exception as '/path/path1' is not a valid URL
new Url.URL('https://www.example.com', ); // Output https://www.example.com/
new Url.URL('https://www.example.com', b); // Output https://www.example.com/

constructor9+

constructor()

URL的無(wú)參構(gòu)造函數(shù)。parseURL調(diào)用后返回一個(gè)URL對(duì)象,不單獨(dú)使用。

系統(tǒng)能力: SystemCapability.Utils.Lang

parseURL9+

static parseURL(url: string, base?: string | URL): URL

URL靜態(tài)成員函數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
urlstring入?yún)?duì)象。
basestringURL

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)[語(yǔ)言基礎(chǔ)類(lèi)庫(kù)錯(cuò)誤碼]。

錯(cuò)誤碼ID錯(cuò)誤信息
10200002Invalid url string.

示例:

let mm = 'https://username:password@host:8080';
let url = Url.URL.parseURL(mm); 
let result = url.toString(); // Output 'https://username:password@host:8080/'

tostring

toString(): string

將解析過(guò)后的URL轉(zhuǎn)化為字符串。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
string用于返回網(wǎng)址的字符串序列化。

示例:

const url = Url.URL.parseURL('https://username:password@host:8080/directory/file?query=pppppp#qwer=da');
let result = url.toString();

toJSON

toJSON(): string

將解析過(guò)后的URL轉(zhuǎn)化為JSON字符串。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
string用于返回網(wǎng)址的字符串序列化。

示例:

const url = Url.URL.parseURL('https://username:password@host:8080/directory/file?query=pppppp#qwer=da');
let result = url.toJSON();

URLSearchParams(deprecated)

URLSearchParams接口定義了一些處理URL查詢字符串的實(shí)用方法,從API version 9開(kāi)始廢棄,建議使用[URLParams]。

constructor(deprecated)

constructor(init?: string[][] | Record | string | URLSearchParams)

URLSearchParams的構(gòu)造函數(shù)。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.constructor9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
initstring[][]Recordstring

示例:

let objectParams = new Url.URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]);
let objectParams1 = new Url.URLSearchParams({"fod" : '1' , "bard" : '2'});
let objectParams2 = new Url.URLSearchParams('?fod=1&bard=2');
let urlObject = new Url.URL('https://developer.mozilla.org/?fod=1&bard=2');
let params = new Url.URLSearchParams(urlObject.search);

append(deprecated)

append(name: string, value: string): void

將新的鍵值對(duì)插入到查詢字符串。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.append9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring需要插入搜索參數(shù)的鍵名。
valuestring需要插入搜索參數(shù)的值。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLSearchParams(urlObject.search.slice(1));
paramsObject.append('fod', '3');

delete(deprecated)

delete(name: string): void

刪除指定名稱(chēng)的鍵值對(duì)。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.delete9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring需要?jiǎng)h除的鍵值名稱(chēng)。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsobject = new Url.URLSearchParams(urlObject.search.slice(1));
paramsobject.delete('fod');

getAll(deprecated)

getAll(name: string): string[]

獲取指定名稱(chēng)的所有鍵值對(duì)。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.getAll9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring指定的鍵值名稱(chēng)。

返回值:

類(lèi)型說(shuō)明
string[]返回指定名稱(chēng)的所有鍵值對(duì)。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let params = new Url.URLSearchParams(urlObject.search.slice(1));
params.append('fod', '3'); // Add a second value for the fod parameter.
console.log(params.getAll('fod').toString()) // Output ["1","3"].

entries(deprecated)

entries(): IterableIterator<[string, string]>

返回一個(gè)ES6的迭代器,迭代器的每一項(xiàng)都是一個(gè) JavaScript Array。Array的第一項(xiàng)是name,Array的第二項(xiàng)是value。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.entries9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator<[string, string]>返回一個(gè)ES6的迭代器。

示例:

let searchParamsObject = new Url.URLSearchParams("keyName1=valueName1&keyName2=valueName2"); 
for (var pair of searchParamsObject.entries()) { // Show keyName/valueName pairs
    console.log(pair[0]+ ', '+ pair[1]);
}

forEach(deprecated)

forEach(callbackFn: (value: string, key: string, searchParams: this) => void, thisArg?: Object): void

通過(guò)回調(diào)函數(shù)來(lái)遍歷URLSearchParams實(shí)例對(duì)象上的鍵值對(duì)。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.forEach9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
callbackFnfunction回調(diào)函數(shù)。
thisArgObjectcallbackFn被調(diào)用時(shí)用作this值,默認(rèn)值是本對(duì)象。

表1 callbackFn的參數(shù)說(shuō)明

參數(shù)名類(lèi)型必填說(shuō)明
valuestring當(dāng)前遍歷到的鍵值。
keystring當(dāng)前遍歷到的鍵名。
searchParamsObject當(dāng)前調(diào)用forEach方法的實(shí)例對(duì)象。

示例:

const myURLObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2'); 
myURLObject.searchParams.forEach((value, name, searchParams) = > {  
    console.log(name, value, myURLObject.searchParams === searchParams);
});

get(deprecated)

get(name: string): string | null

獲取指定名稱(chēng)對(duì)應(yīng)的第一個(gè)值。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.get9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring指定鍵值對(duì)的名稱(chēng)。

返回值:

類(lèi)型說(shuō)明
string返回第一個(gè)值。
null如果沒(méi)找到,返回 null。

示例:

let paramsObject = new Url.URLSearchParams('name=Jonathan&age=18'); 
let name = paramsObject.get("name"); // is the string "Jonathan" 
let age = parseInt(paramsObject.get("age"), 10); // is the number 18

has(deprecated)

has(name: string): boolean

判斷一個(gè)指定的鍵名對(duì)應(yīng)的值是否存在。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.has9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring要查找的參數(shù)的鍵名。

返回值:

類(lèi)型說(shuō)明
boolean是否存在相對(duì)應(yīng)的key值,存在返回true,否則返回false。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLSearchParams(urlObject.search.slice(1)); 
paramsObject.has('bard') === true;

set(deprecated)

set(name: string, value: string): void

將與name關(guān)聯(lián)的URLSearchParams對(duì)象中的值設(shè)置為value。如果存在名稱(chēng)為name的鍵值對(duì),請(qǐng)將第一個(gè)鍵值對(duì)的值設(shè)置為value并刪除所有其他值。如果不是,則將鍵值對(duì)附加到查詢字符串。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.set9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類(lèi)型必填說(shuō)明
namestring將要設(shè)置的參數(shù)的鍵值名。
valuestring所要設(shè)置的參數(shù)值。

示例:

let urlObject = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let paramsObject = new Url.URLSearchParams(urlObject.search.slice(1));
paramsObject.set('baz', '3'); // Add a third parameter.

sort(deprecated)

sort(): void

對(duì)包含在此對(duì)象中的所有鍵值對(duì)進(jìn)行排序,并返回undefined。排序順序是根據(jù)鍵的Unicode代碼點(diǎn)。該方法使用穩(wěn)定的排序算法 (即,將保留具有相等鍵的鍵值對(duì)之間的相對(duì)順序)。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.sort9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

示例:

let searchParamsObject = new Url.URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object
searchParamsObject.sort(); // Sort the key/value pairs
console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4

keys(deprecated)

keys(): IterableIterator

返回一個(gè)所有鍵值對(duì)的name的ES6迭代器。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.keys9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator返回一個(gè)所有鍵值對(duì)的name的ES6迭代器。

示例:

let searchParamsObject = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var key of searchParamsObject .keys()) { // Output key-value pairs
    console.log(key);
}

values(deprecated)

values(): IterableIterator

返回一個(gè)所有鍵值對(duì)的value的ES6迭代器。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.values9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator返回一個(gè)所有鍵值對(duì)的value的ES6迭代器。

示例:

let searchParams = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing
for (var value of searchParams.values()) {
    console.log(value);
}

Symbol.iterator

Symbol.iterator: IterableIterator<[string, string]>

返回一個(gè)ES6的迭代器,迭代器的每一項(xiàng)都是一個(gè) JavaScript Array。Array的第一項(xiàng)是name,Array的第二項(xiàng)是value。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.[Symbol.iterator]9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類(lèi)型說(shuō)明
IterableIterator<[string, string]>返回一個(gè)ES6的迭代器。

示例:

const paramsObject = new Url.URLSearchParams('fod=bay&edg=bap');
for (const [name, value] of paramsObject) {
    console.log(name, value); 
}

tostring(deprecated)

toString(): string

返回序列化為字符串的搜索參數(shù),必要時(shí)對(duì)字符進(jìn)行百分比編碼。

說(shuō)明:

從API version 7開(kāi)始支持,從API version 9開(kāi)始廢棄,建議使用[URLParams.tostring9+]替代。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

類(lèi)型說(shuō)明
string返回序列化為字符串的搜索參數(shù),必要時(shí)對(duì)字符進(jìn)行百分比編碼。

示例:

let url = new Url.URL('https://developer.exampleUrl/?fod=1&bard=2');
let params = new Url.URLSearchParams(url.search.slice(1)); 
params.append('fod', '3');
console.log(params.toString());

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • URL
    URL
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    15229
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    566

    瀏覽量

    20389
  • 鴻蒙
    +關(guān)注

    關(guān)注

    56

    文章

    2271

    瀏覽量

    42508
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1949

    瀏覽量

    29758
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3555

    瀏覽量

    15776
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C++字符串string

    string是C++編程語(yǔ)言中的字符串。在C++中字符串處理可以使用c語(yǔ)言字符串形式char *,也可以使用string
    的頭像 發(fā)表于 07-10 00:26 ?1085次閱讀
    C++<b class='flag-5'>字符串</b>string

    ArkTS語(yǔ)言基礎(chǔ)類(lèi)庫(kù)-解析

    被設(shè)計(jì)用來(lái)傳輸和存儲(chǔ)數(shù)據(jù),是一種可擴(kuò)展標(biāo)記語(yǔ)言語(yǔ)言基礎(chǔ)類(lèi)庫(kù)提供了[XML生成、解析與轉(zhuǎn)換]的能力。 U
    發(fā)表于 02-20 16:44

    鴻蒙原生應(yīng)用開(kāi)發(fā)-ArkTS語(yǔ)言基礎(chǔ)類(lèi)庫(kù)概述

    擴(kuò)展標(biāo)記語(yǔ)言。語(yǔ)言基礎(chǔ)類(lèi)庫(kù)提供了XML生成、解析與轉(zhuǎn)換的能力。 URL、URI構(gòu)造和
    發(fā)表于 03-05 15:42

    C語(yǔ)言實(shí)現(xiàn)url解析小實(shí)例

    ,URL_RESULT_T *result)參數(shù):raw_url:指向一個(gè)url字符串,比如:ftp://peng:pass@baidu.com/dir/index.htmlresul
    發(fā)表于 04-12 09:10

    URL,URL是什么意思

    URL,URL是什么意思 URL(Uniform Resoure Locator:統(tǒng)一資源定位器)是WWW頁(yè)的地址,它從左到右由下述部分組成: &
    發(fā)表于 03-22 10:53 ?8222次閱讀

    實(shí)例解析Java字符串內(nèi)存管理方法

    Java[1]語(yǔ)言字符串操作提供了豐富的支持,它將字符串封裝在三個(gè)類(lèi)中并提供多種字符串操作接口。在Java應(yīng)用程序中,由于對(duì)
    發(fā)表于 10-27 10:20 ?1次下載
    實(shí)例<b class='flag-5'>解析</b>Java<b class='flag-5'>字符串</b>內(nèi)存管理方法

    簡(jiǎn)述go語(yǔ)言標(biāo)準(zhǔn)庫(kù) net/url 庫(kù)的過(guò)程。

    url解析 URL 并實(shí)現(xiàn)了查詢的逸碼,參見(jiàn) RFC 3986。 func PathEscape func PathEscape(s string) string PathEscape 會(huì)將
    的頭像 發(fā)表于 08-14 10:35 ?1509次閱讀

    strtok拆分字符串

    就是字符格式。有些場(chǎng)景需要使用多個(gè)處理器協(xié)同工作,比如單片機(jī)+openmv,它們之間需要通信,可以采用字符格式的編碼方式。操作字符串,無(wú)非是兩件事兒:生成字符串
    發(fā)表于 01-13 15:46 ?8次下載
    strtok拆分<b class='flag-5'>字符串</b>

    C語(yǔ)言總結(jié)_字符串全方位練習(xí)

    C語(yǔ)言字符串全方位練習(xí),涉及知識(shí)點(diǎn):字符串解析、大小寫(xiě)判斷、字符串插入、字符串刪除、
    的頭像 發(fā)表于 08-14 09:41 ?1366次閱讀

    C語(yǔ)言-字符串處理

    字符串在C語(yǔ)言里使用非常多,因?yàn)楹芏鄶?shù)據(jù)處理都是文本,也就是字符串,特別是設(shè)備交互、web網(wǎng)頁(yè)交互返回的幾乎都是文本數(shù)據(jù)。 這篇文章就介紹字符串定義、和基本處理的方法。
    的頭像 發(fā)表于 08-14 10:05 ?1655次閱讀

    關(guān)于STEP7庫(kù)功能字符串轉(zhuǎn)換

    庫(kù)libraries---Standard Libray---TI-S7 Converting Blocks) FC編號(hào) 功能名稱(chēng) 描述 FC5 DI_STRING 雙整數(shù)轉(zhuǎn)字符串 FC16
    的頭像 發(fā)表于 10-10 10:50 ?3739次閱讀

    C語(yǔ)言字符串的引用方式

    在C語(yǔ)言程序中,字符串是存放在字符數(shù)組中的。 2. 用字符數(shù)組存放一個(gè)字符串,可以通過(guò)數(shù)組名和下標(biāo)引用
    的頭像 發(fā)表于 03-10 14:57 ?1709次閱讀

    c語(yǔ)言字符串定義

    C語(yǔ)言是一種強(qiáng)大而廣泛使用的編程語(yǔ)言,字符串是其中一個(gè)非常重要的概念。在C語(yǔ)言中,字符串是由一系列字符
    的頭像 發(fā)表于 11-24 10:02 ?1453次閱讀

    C語(yǔ)言字符串編譯函數(shù)介紹

    在C語(yǔ)言中,字符串實(shí)際上是使用null字符O'終止的一維字符數(shù)組。因此,一個(gè)以null結(jié)尾的字符串,包含了組成
    的頭像 發(fā)表于 03-07 16:18 ?393次閱讀
    C<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>字符串</b>編譯函數(shù)介紹

    鴻蒙語(yǔ)言基礎(chǔ)類(lèi)庫(kù)ohos.url URL字符串解析

    URLSearchParams的構(gòu)造函數(shù)。
    的頭像 發(fā)表于 07-08 22:31 ?337次閱讀
    鴻蒙<b class='flag-5'>語(yǔ)言</b>基礎(chǔ)<b class='flag-5'>類(lèi)</b><b class='flag-5'>庫(kù)</b>:<b class='flag-5'>ohos.url</b> <b class='flag-5'>URL</b><b class='flag-5'>字符串</b><b class='flag-5'>解析</b>