美文网首页
2018-07-17

2018-07-17

作者: AoeKeller | 来源:发表于2018-07-17 10:59 被阅读0次

部分手机不兼容的String对象的方法

  • padStart方法

padStart方法可以用来补充字符串长度的,用例如下

>'x'.padStart(4, 'ab')
"abax"
> 'abc'.padStart(10, '0123456789')
'0123456abc'

但是这个方法在部分手机上不兼容。目前是vivo手机和oppo不适用。
下面这个方法大致实现了padStart功能,但不完全覆盖功能

String.prototype.padStart =
function (maxLength, fillString=' ') {
    let str = String(this);
    if (str.length >= maxLength) {
        return str;
    }

    fillString = String(fillString);
    if (fillString.length === 0) {
        fillString = ' ';
    }

    let fillLen = maxLength - str.length;
    let timesToRepeat = Math.ceil(fillLen / fillString.length);
    let truncatedStringFiller = fillString
        .repeat(timesToRepeat)
        .slice(0, fillLen);
    return truncatedStringFiller + str;
};

同理,padEnd,还有endsWith,这些方法都有在某些vivo oppo手机上发现不兼容

相关文章

网友评论

      本文标题:2018-07-17

      本文链接:https://www.haomeiwen.com/subject/jbhwpftx.html