點燈坊

失くすものさえない今が強くなるチャンスよ

使用 padStart() 在 String 之前補 0

Sam Xiao's Avatar 2021-01-10

若要在 String 之前根據指定長度補 0,Wink-fp 提供了 padStart()

Version

Wink-fp 1.25.5

ECMAScript

let data = '8'

data.padStart(2, '0') // ?

希望結果是兩位數,若原資料只有一位就在前面補 0,若是兩位就直接回傳,ECMAScript 提供了 padStart() 可直接使用,此為 Method Chaining 風格。

padstart000

Ramda

import { invoker } from 'ramda'

let padStart = invoker(2, 'padStart')

let data = '8'

padStart(2, '0', data) // ?

Ramda 沒有提供 padStart(),但可藉由 invoker()String.prototype.padStart() 抽出 padStart() free function,並將 data 放到最後一個 argument,符合 Function Pipeline 風格。

padstart001

Wink-fp

import { padStart } from 'wink-fp'

let data = '8'

padStart(2, '0', data) // '08'

Wink-fp 直接提供 padStart() 可直接使用。

padStart()
Number -> String -> String -> String
根據指定長度補足其他 String

Number:最後 String 長度

String:要補足的 String

String:Data 為 String

String:回傳新 String

Conclusion

  • Wink-fp 的 padStart() 與 ECMAScript 內建的 padStart() 功能完全相同,只是 ECMAScript 為 Method Chaing 風格,Wink-fp 為 Function Pipeline 風格