JS字符串补全方法padStart()和padEnd()

背景:

var t = new Date().getMonth() + 1;
// t ===> 7,没有0,怎么展示成下面的样子?
// 2018-07-23

解决上述问题的一个思路:

// 补0函数
function(num) {
    return +num < 10 ? '0' + num : num;
}

padStart(len, str)

  • 根据给定长度自动在字符串的前面补充想补充的字符串(只返回修改后的字符串,不修改原字符串)

    • len 给定的长度,转换后
    • str 想补充的字符串

栗子:

var a = '7';
a.padStart(2, '0');
// a ===> 07
var b = 'hi';
b.padStart(10, 'hello');
// b ===> hellohelhi, 重复补充
var c = 'hi';
c.padStart(10, '');
// c ===> hi
var d = 'a';
d.padStart(5, false);
// falsa
d.padStart(5, []);
// a
d.padStart(5, {});
// [obja
d.padStart(5, null);
// nulla
d.padStart(5, function(){});
// funca

实现的思路:

var a = '22'
a.padStart(len, str)

伪代码:

var res = ''
if (str.toString) {
    res = str.toString();
}
else {
    res = Object.prototype.toString.call(str);
}
return res;
res.repeat(len/2+1).slice(0, len - a.length) + a

padEnd()
和padStart参数一样,只是把想加的字符串加到后头。

var a = 'aaa'.padEnd(15, {});
// aaa[object Obje

兼容性

目前来看用于前端需要兼容,请看:string.polyfill.js

if (!String.prototype.padStart) {
    String.prototype.padStart = function padStart(targetLength,padString) {
        targetLength = targetLength>>0; //truncate if number or convert non-number to 0;
        padString = String((typeof padString !== 'undefined' ? padString : ' '));
        if (this.length > targetLength) {
            return String(this);
        }
        else {
            targetLength = targetLength-this.length;
            if (targetLength > padString.length) {
                padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
            }
            return padString.slice(0,targetLength) + String(this);
        }
    };
}

node.js支持到版本8

原文地址:https://www.cnblogs.com/hongrunhui/p/9370954.html

时间: 2024-10-12 05:36:46

JS字符串补全方法padStart()和padEnd()的相关文章

js字符串补全 padStart padEnd

padStart:在字符串的开头进行字符补全padEnd:在字符串的结尾进行字符补全 str.padStart(targetLength [, padString]) targetLength :目标字符串长度 padString: 用来补全长度的字符串 随机生成一个六位数,不足六位时用1补齐 const code = Math.floor(Math.random() * 1000000).toString().padStart(6, "1"); console.log(code) 原

js 自动补全

js 代码 //---------------------------------------------------自动补全begin-------------------------------- var maxcount = 0;// 表示他最大的值 var thisCount =0;// 初始化他框的位置 var flagThis = 0; var flag = 0; //标示是否选择自动补全 //自动补全方法 function zdbq(obj){ var id = obj.id; d

设置eclipse补全方法

开MyEclipse 6.0.1,然后“window”→“Preferences” 2. 选择“java”,展开,“Editor”,选择“Content Assist”. 3. 选择“Content Assist”,然后看到右边,右边的“Auto-Activation”下面的“Auto Activation triggers for java”这个选项.其实就是指触发代码提示的就是“.”这个符号. 4. “Auto Activation triggers for java”这个选项,在“.”后加

超简python命令行tab一键补全方法

玩转Linux的朋友们,还在为python默认的无tab补全而烦恼吗? 下面是在下的一个解决方法,希望能帮助到新入学python的学者. 第一步:编写一键补全脚本tab.py [[email protected]~]#vim tab.py #!/usr/bin/env python import sys import readline import rlcompleter import atexit import os #tab completion readline.parse_and_bin

设置python中TAB键自动补全方法

一.创建自动补全脚本如下: vi /tmp/python/tab.py #!/usr/bin/python # python tab file import sys import readline import rlcompleter import atexit import os # tab completion readline.parse_and_bind('tab: complete') # history file histfile = os.path.join(os.environ[

sublime工具 插件自动补全方法

自动补全(emmet),输入对应的关键字(html标签)---tab键 http://www.emmet.io/ 代码片段 只需要输入自己的关键字--tab键 操作: 添加代码片段,然后保存 保存 使用 位置停留 注意:如果需要$需要转移 查看包信息 内容:

js自动补全实例

var oInputField ,oPopDiv , oColorsUl,aColors; //初始化变量 function initVars(modelId,divId,ulId){ oInputField = document.getElementById(modelId); oPopDiv = document.getElementById(divId); oColorsUl = document.getElementById(ulId); } //查机种.料号 自动补全 function

js字符串常用的方法总结,及其用法

JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a.concat(b);alert(c);//c = "hello,world"indexOf返回字符串中一个子串第一处出现的索引(从左到右搜索).如果没有匹配项,返回 -1 .var index1 = a.indexOf("l");//index1 = 2var ind

js 字符串的replace() 方法和实现replaceAll() 方法

一.js中字符串的替换使用replace() 方法,但它只替换第一个匹配子串.如下例: <script type="text/javascript"> var sourceString = "我是被替换的字符串,是被替换的哦"; var replaceString = sourceString.replace("替换", "replace"); alert(replaceString); // 我是被replace