字串前後補0達到指定資料長度
阿新 • • 發佈:2022-12-07
由於目前在做微控制器應用,並且與藍芽裝置傳遞資料
我目前遇到的需求是,舉例陣列:[ 2001 ,0 ,4 ,10 , 100 ] 中的每項均需要轉為16進位制,
並且轉成的16進位制資料每項都需要是4個佔位字元,如果不夠需要前面加 0 來填充到四位
例如 2001.toString(16) = 7D1,就需要在前面加一個0變成07D1才可以
JS提供了這類方法可以使得字串在前後新增指定字元用於填充長度
當給定數字位數不足8位時,則在左邊補充0以補足8位數。
let num = 900; let nStr = num.toString().padStart(8,'0'); console.log(nStr); //00000900
padStart()
用另一個字串填充當前字串(重複,如果需要的話),以便產生的字串達到給定的長度。填充從當前字串的開始(左側)應用的。
語法
str.padStart(targetLength [, padString])
引數
targetLength:當前字串需要填充到的目標長度。如果這個數值小於當前字串的長度,則返回當前字串本身。
padString (可選):填充字串。如果字串太長,使填充後的字串長度超過了目標長度,則只保留最左側的部分,其他部分會被截斷。此引數的預設值為 " "(U+0020)。
'abc'.padStart(10); // " abc" 'abc'.padStart(10, "foo"); //"foofoofabc" 'abc'.padStart(6,"123465"); // "123abc" 'abc'.padStart(8, "0"); // "00000abc" 'abc'.padStart(1); // "abc"
padEnd()
用一個字串填充當前字串(如果需要的話則重複填充),返回填充後達到指定長度的字串。從當前字串的末尾(右側)開始填充。
語法,引數等同上
'abc'.padEnd(10); // "abc " 'abc'.padEnd(10, "foo"); // "abcfoofoof" 'abc'.padEnd(6, "123456"); // "abc123" 'abc'.padEnd(1); //"abc"