Object 內建對象

對象HttpCollection

HttpCollection 是一個通用容器,用於處理http訊息中的headers, query, form, cookie 數據

我們以headers 為例,說明HttpCollection 的使用方法。

HttpCollection 支援三種形式新增資料:

  1. 新增一個鍵值數據,新增數據不會修改已存在的鍵值的數據。add
1 2 3 4
headers.add({ 'Content-Type': 'text/plain', 'User-Agent': 'fibjs' });
  1. 增加一個鍵值的一組數據,添加數據並不會修改已存在的鍵值的數據。add
1 2 3 4
headers.add('Set-Cookie', [ 'a=10', 'b=20' ]);
  1. 新增一個鍵值數據,新增數據不會修改已存在的鍵值的數據。add
1
headers.add('Accept-Encoding', 'gzip');

HttpCollection 設定資料的形式與新增相同,使用的方法是set

我們可以使用has檢查容器內是否存在指定鍵值的數據

1
const contentTypeExists = headers.has('Content-Type');

使用first取得容器內某個鍵對應的第一個值:

1
const contentType = headers.first('Content-Type');

使用all查詢指定鍵值的全部值,傳回一個陣列。如果傳遞一個空字串的參數,則傳回全部值

1 2
const cookieArray = headers.all('Set-Cookie'); const alls = headers.all();

使用delete方法刪除指定鍵值的所有數據,返回true表示

繼承關係

操作符

operator[String]

允許使用鍵值下標直接存取數值

1
Variant HttpCollection[String];

成員函數

clear

清除容器數據

1
HttpCollection.clear();

has

檢查容器內是否存在指定鍵值的數據

1
Boolean HttpCollection.has(String name);

呼叫參數:

  • name: String, 指定要檢查的鍵值

回傳結果:

  • Boolean, 返回鍵值是否存在

first

查詢指定鍵值的第一個值

1
Variant HttpCollection.first(String name);

呼叫參數:

  • name: String, 指定要查詢的鍵值

回傳結果:

  • Variant, 傳回鍵值所對應的值,若不存在,則傳回undefined

get

查詢指定鍵值的第一個值,等同於first

1
Variant HttpCollection.get(String name);

呼叫參數:

  • name: String, 指定要查詢的鍵值

回傳結果:

  • Variant, 傳回鍵值所對應的值,若不存在,則傳回undefined

all

查詢指定鍵值的全部值

1
NObject HttpCollection.all(String name = "");

呼叫參數:

  • name: String, 指定要查詢的鍵值,傳遞空字串傳回全部鍵值的結果

回傳結果:

  • NObject, 傳回鍵值所對應全部值的數組,若資料不存在,則傳回null

add

新增一個鍵值數據,新增數據並不修改已存在的鍵值的數據

1
HttpCollection.add(Object map);

呼叫參數:

  • map: Object, 指定要新增的鍵值資料字典

增加一個鍵值的一組數據,添加數據並不修改已存在的鍵值的數據

1 2
HttpCollection.add(String name, Array values);

呼叫參數:

  • name: String, 指定要新增的鍵值
  • values: Array, 指定要新增的一組數據

新增一個鍵值數據,新增數據並不修改已存在的鍵值的數據

1 2
HttpCollection.add(String name, Variant value);

呼叫參數:

  • name: String, 指定要新增的鍵值
  • value: Variant, 指定要新增的數據

set

設定一個鍵值數據,設定數據將修改鍵值所對應的第一個數值,並清除相同鍵值的其餘數據

1
HttpCollection.set(Object map);

呼叫參數:

  • map: Object, 指定要設定的鍵值資料字典

設定一個鍵值的一組數據,設定數據將修改鍵值所對應的數值,並清除相同鍵值的其餘數據

1 2
HttpCollection.set(String name, Array values);

呼叫參數:

  • name: String, 指定要設定的鍵值
  • values: Array, 指定要設定的一組數據

設定一個鍵值數據,設定數據將修改鍵值所對應的第一個數值,並清除相同鍵值的其餘數據

1 2
HttpCollection.set(String name, Variant value);

呼叫參數:

  • name: String, 指定要設定的鍵值
  • value: Variant, 指定要設定的數據

remove

刪除指定鍵值的全部值

1
HttpCollection.remove(String name);

呼叫參數:

  • name: String, 指定要刪除的鍵值

delete

刪除指定鍵值的全部值

1
HttpCollection.delete(String name);

呼叫參數:

  • name: String, 指定要刪除的鍵值

sort

依照鍵值排序容器內的內容

1
HttpCollection.sort();

keys

查詢容器內的鍵值

1
NArray HttpCollection.keys();

回傳結果:

  • NArray, 傳回包含所有鍵值的陣列

values

查詢容器內的數值

1
NArray HttpCollection.values();

回傳結果:

  • NArray, 傳回包含所有數值的數組

toString

傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現

1
String HttpCollection.toString();

回傳結果:

  • String, 傳回物件的字串表示

toJSON

傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合

1
Value HttpCollection.toJSON(String key = "");

呼叫參數:

  • key: String, 未使用

回傳結果:

  • Value, 傳回包含可JSON 序列化的值