美文网首页
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