文件 v2.0.3

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
EN