2018-07-17

部分手机不兼容的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手机上发现不兼容

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我开始喜欢一个人 一个人吃饭一个人睡觉 一个人看书一个人旅行 一个人可以单曲循环听到落泪感伤 一个人可以在雨中奔跑...
    黎梓简梦阅读 1,163评论 0 0
  • 这个标题撇开故意说不好听的话让别人难受的那种情形。 A女士自称特别会说话,从来都积极乐观又向上。有一天,她去拜访一...
    Z壹柒阅读 3,247评论 0 0
  • 1邱卫豪 随笔 失败是一种营养,让我们学会坚强,跌倒是一种营养,让我们在风雨中茁壮成长,挫折是一种...
    跬步堂阅读 4,432评论 0 0
  • 又是一年3月8日妇女节,不过今年传统意义上的“妇女节”似乎又多了一个含义——“女神节”,吓得我扔掉了手中的小米...
    猴王Aseven阅读 2,755评论 0 1
  • 原文《子曰:“学而不思则罔,思而不学则殆。” 》 学到知识却不思考,不去琢磨怎么使用,这样你就算知道了知识...
    郭月山阅读 1,059评论 0 0