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