如何在 JavaScript 中高效地填充字符串?
用于字符串填充的 JavaScript 函数
简介
填充字符串涉及到在开头或结尾添加字符以达到所需的长度。这在各种场景中都很有用,例如表格对齐或格式化数字。本文探讨了一种有助于字符串填充的 JavaScript 函数。
ES8 之前的解决方案
在 ECMAScript 8 (ES8) 之前,开发人员采用各种方法进行字符串填充。一种简单的方法是将字符串与预定义的填充值连接起来,然后对结果进行切片以获得所需的长度:
var n = 123; String("00000" + n).slice(-5); // returns 00123 ("00000" + n).slice(-5); // returns 00123 (" " + n).slice(-5); // returns " 123" (with two spaces)
另一种解决方案使用 paddingLeft 方法扩展字符串对象:
String.prototype.paddingLeft = function (paddingValue) { return String(paddingValue + this).slice(-paddingValue.length); };
此方法可以按如下方式使用:
function getFormattedTime(date) { var hours = date.getHours(); var minutes = date.getMinutes(); hours = hours.toString().paddingLeft("00"); minutes = minutes.toString().paddingLeft("00"); return "{0}:{1}".format(hours, minutes); }; String.prototype.format = function () { var args = arguments; return this.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };
ES8 和Beyond
ES8引入了String.padStart方法,它简化了字符串填充:
"Jonas".padStart(10); // Default pad string is a space "42".padStart(6, "0"); // Pad with "0" "*".padStart(8, "-/|\"); // produces '-/|\-/|*'
如果String.padStart不可用,可以使用polyfill来添加它。下面的polyfill扩展了字符串对象:
String.prototype.padLeft = function (desiredLength) { var padString = " "; if (arguments.length > 1) { padString = arguments[1]; } var padLength = desiredLength - this.length; if (padLength >= 0) { return padString.repeat(Math.ceil(padLength / padString.length)).slice(0, padLength) + this; } else { return this; } };
以上是如何在 JavaScript 中高效地填充字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了在浏览器中优化JavaScript性能的策略,重点是减少执行时间并最大程度地减少对页面负载速度的影响。

本文讨论了使用浏览器开发人员工具的有效JavaScript调试,专注于设置断点,使用控制台和分析性能。

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

本文说明了如何使用源地图通过将其映射回原始代码来调试JAVASCRIPT。它讨论了启用源地图,设置断点以及使用Chrome DevTools和WebPack之类的工具。

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

深入探讨console.log输出差异的根源本文将分析一段代码中console.log函数输出结果的差异,并解释其背后的原因。�...
