簡體   English   中英

Javascript padStart 填充數組不起作用

[英]Javascript padStart to populate an array doesn't work

我想以 Markdown 格式填充具有不同標題的數組。 這是我嘗試過的:

slides = Array(50).fill().map((e,i)=> "Slide ".padStart(i % 6, '#') + (i+1));

但是所有數組元素的開頭都沒有標簽。 調試器還顯示它對字符串沒有任何影響:

"Slide ".padStart(6, "#") = "Slide "

我從上面期望:

"Slide ".padStart(6, "#") = "######Slide "

您需要移動字符串前面的填充。

 var slides = Array.from( { length: 50 }, (_, i) => ''.padStart(i % 6 + 1, '#') + "Slide " + (i + 1) ); console.log(slides);

padStart長度。 如果您想重復一個字符串並將其添加到開頭,您可以使用repeat來做到這一點:

slides = Array(50).fill().map((e,i)=> "#".repeat(i % 6) + "Slide " + (i+1));

您的演示代碼無法獲得此結果,因為Slide沒有填充#的空間了;

"Slide ".padStart(6, "#")
// "######Slide " ❌

只需將其更改為以下代碼,它將按您的意願工作。

 // solution ✅ "Slide ".padStart("Slide ".length + 6, "#"); // '######Slide ' const str = "Slide "; const result = str.padStart(str.length + 6, "#"); console.log('result =', result); const name = "Slide "; const slides = Array(50).fill().map((_, i) => name.padStart(i % 6 + name.length + 1, '#') + (i + 1)); console.log('slides =', slides); /* const name = "Slide "; const slides = [...``.padEnd(50, ' ')].map((_, i) => name.padStart(i % 6 + name.length + 1, '#') + (i + 1)); console.log('slides =', slides); */

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM