Array 與 Object 擴充
Array.prototype 與 Object.prototype 新增的負索引存取、聚合與存在判斷。
Array
原始碼:src/prototype/Array.ts
| 方法/屬性 | 說明 |
|---|---|
arr.$sum |
透過 reduce 計算數值陣列總和 |
arr.$shuffle |
原地 Fisher–Yates 洗牌;回傳 this |
arr.$map |
每個項目的 value → index 組成的 Map |
arr._(value, index?) |
支援負索引的插入(splice);省略 index 時附加至末尾 |
arr.$(index) |
支援負索引的讀取 |
arr.$i(target) |
indexOf(target),找不到時回傳 undefined 而非 -1 |
arr.$_(index) |
支援負索引的移除(splice) |
arr.$$(target?) |
無參數時判斷非空,有參數時判斷 target 是否存在 |
arr.$req(body) |
將陣列以 / 串接為 URL 路徑片段,再對該路徑呼叫 $req |
Object
原始碼:src/prototype/Object.ts(擴充 Object.prototype,故適用於純物件)
| 方法/屬性 | 說明 |
|---|---|
obj.length |
Object.keys(this).length |
obj.$keys / obj.$values |
Object.keys(this) / Object.values(this) |
obj.$map |
自身可列舉屬性組成的 Map |
obj.forEach(cb) |
類陣列迭代:對自身可列舉屬性執行 cb(key, value) |
obj._(key, value, replace = true) |
條件式設定——僅當 replace 為 true 時才覆蓋已存在的鍵 |
obj.$$(key?) |
有 key 時為 hasOwnProperty(key),否則為 this.length > 0 |