先大概说下思路:
- 首先将字符串转换成数组
str.split('')
- 在设定的位置添加换行符
- 最后将数据在转换成字符串
代码如下:
splitByLine(str, len=10){
let strLen = str.length,
num = 0,
multiple = Math.floor(strLen / len),
arrStr = str.split(''),
space = strLen % len > 0 ? multiple + 1 : multiple
for (let i = 1; i <= space; i++) {
arrStr.splice((len * i + num), 0, '\n')
num ++
}
return arrStr.join('')
}
我们来测试一下:
let str = '我是一个粉刷匠粉刷本领强把我们的新房子刷的很漂亮哈哈'
splitByLine(str) // 第二个参数不传。默认每10个字处开始换行
打印结果:
代码写的不是特别优雅,如有大神还望不吝赐教