/**
* @param string text 为传入的文本
* @param int num 为单行显示的字节长度
* @return array
*/
function textByteLength(text, num) {
let strLength = 0;
let rows = 1;
let str = 0;
let arr = [];
for (let j = 0; j < text.length; j++) {
// console.log(text.charCodeAt(j));
if (text.charCodeAt(j) > 255) {
// console.log('if');
strLength += 2;
if (strLength > rows * num) {
// console.log(3333);
// strLength++;
console.log(strLength);
arr.push(text.slice(str, j));
str = j;
rows++;
}
} else {
// console.log('else');
strLength++;
if (strLength > rows * num) {
arr.push(text.slice(str, j));
str = j;
rows++;
}
}
}
arr.push(text.slice(str, text.length));
// return [strLength, arr, rows] // [处理文字的总字节长度,每行显示内容的数组,行数]
console.log(strLength); // 65
console.log(arr); // Array(4) [ "今天又到了星期五,明", "天就是周六了,后天就是", "周日了,大后天就是周", "一哈哈" ]
console.log(rows); // 4
}
textByteLength('今天又到了星期五,明天就是周六了,后天就是周日了,大后天就是周一哈哈',20)
将字符串按长度截取成数组
最新推荐文章于 2024-04-23 14:30:43 发布