当前位置:网站首页>将字符串按长度截取成数组

将字符串按长度截取成数组

2022-06-21 20:37:00 我是来写bug的吧

     /**
	 * @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)

原网站

版权声明
本文为[我是来写bug的吧]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_55547532/article/details/125332849