#68 字符串居中补全


  • 0
    administrators

    完成函数 centerPad 可以让一个字符串居中包裹在指定的可重复填充的字符串中间,例如:

    centerPad('Hello', 13, 'abc') // => 'abcaHelloabca'
    centerPad('Gook Luck!', 30, '*~') // => '*~*~*~*~*~Gook Luck!*~*~*~*~*~'
    

    第一个参数为被包裹字符串,第二个参数为最终的字符串长度,第三个参数为用来填充的字符。

    如果字符串无法完全居中,那么让字符串偏左,例如:

    centerPad('Hello', 10, 'abc') // => 'abHelloabc'
    

    如果第二个参数传入的字符串长度比原来长度要短,直接返回原有字符串即可,例如:

    centerPad('Hello', 1, 'abc') // => 'Hello'
    

    请你完成 centerPad 函数。

    (提示:可以充分利用 ES6 新增的扩展方法)


  • 0

    const centerPad = (str, len, pad) => {
    let strLen = str.length,
    half = (len - strLen) / 2,
    start = str.padStart(half + strLen, pad)
    return (len - strLen) % 2 != 0 ? start + ''.padEnd(half + 1, pad) : start + ''.padEnd(half, pad)
    }


  • 1

    const centerPad = (str, len, pad) => str.padStart(~~((len - str.length) / 2) + str.length, pad).padEnd(len, pad)
    

    前端表单验证工具 https://github.com/WLDragon/SMValidator


登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待