中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS用padStart和padEnd函數格式化字符串的方法

發布時間:2020-06-29 13:45:38 來源:億速云 閱讀:191 作者:Leah 欄目:web開發

這篇文章運用簡單易懂的例子給大家介紹JS用padStart和padEnd函數格式化字符串的方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

幾天前,我正在使用JavaScript構建倒數計時器,因此我需要格式化秒和毫秒,我希望秒始終是2位數的長度,而毫秒總是3位數的長度,換句話說,我希望 1 秒顯示為 011 毫秒顯示為 001

我最終寫出了自己的函數來“填充”這些數字,但是我發現JavaScript中內置了函數 padStart()padEnd()來實現這些功能。

用例

讓我們從介紹幾種不同的填充用例開始。

標簽和值

假設你在同一行上有標簽和值,例如 name:zhangsan 和  Phone Number:(555)-555-1234。如果把他們放在一起看起來會有點奇怪,會是這樣:

Name: zhangsan
Phone Number: (555)-555-1234

你可能想要這個。

Name:           zhangsan
Phone Number:   (555)555-1234

或這個...

        Name: zhangsan
Phone Number: (555)555-1234

金額

在中國,顯示價格時通常顯示兩位數的角、分。所以代替這個...

¥10.1

你會想要這個。

¥10.01

日期

對于日期,日期和月份都需要2位數字。所以代替這個...

2020-5-4

你會想要這個。

2020-05-04

時間

與上面的日期類似,對于計時器,你需要2位數字表示秒,3位數字表示毫秒。所以代替這個...

1:1

你會想要這個。

01:001

padstart()

讓我們從 padStart() 以及標簽和值示例開始。假設我們希望標簽彼此正確對齊,以使值在同一位置開始。

        Name: zhangsan
Phone Number: (555)555-1234

由于 Phone Number 是兩個標簽中較長的一個,因此我們要在 Name 標簽的開頭加上空格。為了將來的需要,我們不要把它專門填充到電話號碼的長度,我們把它填充到長一點,比如說20個字符。這樣一來,如果你在未來使用較長的標簽,這一招仍然有效。

在填充之前,這是用于顯示此信息的入門代碼。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1 + ": " + name);
console.log(label2 + ": " + phoneNumber);

//Name: zhangsan
//Phone Number: (555)-555-1234

現在,讓我們填充第一個標簽。要調用 padStart(),你需要傳遞兩個參數:一個用于填充字符串的目標長度,另一個用于你希望填充的字符。在這種情況下,我們希望長度為20,而填充字符為空格。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1.padStart(20, " ") + ": " + name);
console.log(label2 + ": " + phoneNumber);

//               Name: zhangsan
////Phone Number: (555)-555-1234

現在填充第二行。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1.padStart(20, " ") + ": " + name);
console.log(label2.padStart(20, " ") + ": " + phoneNumber);

//               Name: zhangsan
////     Phone Number: (555)-555-1234

padEnd()

對于相同的標簽和值示例,讓我們更改填充標簽的方式。讓我們將標簽向左對齊,以便在末尾添加填充。

初始代碼

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log(label1 + ": " + name);
console.log(label2 + ": " + phoneNumber);

//Name: zhangsan
//Phone Number: (555)-555-1234

現在,讓我們填充第一個標簽,與我們之前所做的類似,但有兩個小區別。現在,我們使用 padEnd() 而不是padStart(),并且需要在填充之前將冒號與標簽連接起來,這樣我們就能確保冒號在正確的位置。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log((label1 + ': ').padEnd(20, ' ') + name);
console.log(label2 + ": " + phoneNumber);

//Name:               zhangsan
//Phone Number: (555)-555-1234

現在兩行都已填充。

const label1 = "Name";
const label2 = "Phone Number";
const name = "zhangsan"
const phoneNumber = "(555)-555-1234";

console.log((label1 + ': ').padEnd(20, ' ') + name);
console.log((label2 + ': ').padEnd(20, ' ') + phoneNumber);

//Name:               zhangsan
//Phone Number:       (555)-555-1234

數字(價格、日期、計時器等)呢?

padding函數是專門針對字符串而不是數字的,所以,我們需要先將數字轉換為字符串。

價格

讓我們看一下顯示價格的初始代碼。

const rmb = 10;
const cents = 1;
console.log("¥" + rmb + "." + cents); //¥10.1

要填充分,我們需要先將其轉換為字符串,然后調用 padStart() 函數,指定長度為1且填充字符為'0';

const rmb = 10;
const cents = 1;
console.log("¥" + rmb + "." + cents.toString().padStart(2,0)); //¥10.01

日期

這是顯示日期的初始代碼。

const month = 2;
const year = 2020;

console.log(year + "-" + month); //2020-2

現在,讓我們填充月份以確保它是兩位數。

const month = 2;
const year = 2020;

console.log(year + "-" + month.toString().padStart(2,"0")); // 2020-02

計時器

最后是我們的計時器,我們要格式化兩個不同的數字,即秒和毫秒。盡管有相同的原則。這是初始代碼。

const seconds = 1;
const ms = 1;

console.log(seconds + ":" + ms); //1:1

現在要填充,我將在單獨的行上進行填充,以便于閱讀。

const seconds = 1;
const formattedSeconds = seconds.toString().padStart(2,0);
const ms = 1;
const formattedMs = ms.toString().padStart(3,0);

console.log(formattedSeconds + ":" + formattedMs); // 01:001

關于JS用padStart和padEnd函數格式化字符串的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝丰县| 城固县| 太保市| 浮梁县| 云阳县| 永顺县| 黄骅市| 阳信县| 科尔| 茌平县| 镇原县| 临潭县| 舒城县| 宝鸡市| 兴和县| 福安市| 洞口县| 文化| 拜泉县| 石狮市| 沈丘县| 遂溪县| 犍为县| 乐山市| 宝丰县| 肇源县| 芮城县| 辽宁省| 互助| 英吉沙县| 商南县| 略阳县| 桓台县| 凉城县| 丹寨县| 内黄县| 莎车县| 厦门市| 清涧县| 多伦县| 柳江县|