-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathArray.ts
61 lines (53 loc) · 1.59 KB
/
Array.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
interface Array<T> {
// 計算屬性
/**
* 計算數值陣列中所有元素的總和
*/
readonly $sum: number;
/**
* 返回隨機打亂元素順序後的陣列
*/
readonly $shuffle: Array<T>;
/**
* 將陣列轉換為 Map,key 為元素值,value 為索引
*/
readonly $map: Map<T, number>;
// 陣列操作方法
/**
* 在指定索引處插入元素
* @param value 要插入的單個值或陣列
* @param index 插入位置,支援正負索引,默認為陣列末尾
* @returns 修改後的陣列
*/
_(value: T | T[], index?: number): Array<T>;
/**
* 獲取指定索引的元素
* @param index 目標索引,支援正負索引
* @returns 目標元素,若索引無效則返回 undefined
*/
$(index: number): T | undefined;
/**
* 查找元素的索引
* @param target 要查找的元素
* @returns 元素的索引,不存在則返回 undefined
*/
$i(target: T): number | undefined;
/**
* 移除指定索引的元素
* @param index 要移除的索引位置,支援正負索引
* @returns 修改後的陣列
*/
$_(index: number): Array<T>;
/**
* 檢查元素存在性或陣列非空性
* @param target 可選,要檢查的特定元素
* @returns 如果目標存在或陣列非空則返回 true
*/
$$(target?: T): boolean;
// URL 相關方法
/**
* 將陣列元素作為路徑段落組合成 URL 並發送請求
* @param body 請求體數據
*/
$req(body: Record<string, any>): void;
}