将字符串按指定位数截断并放入数组
1、基础实现
function splitStringByLength(str, n) {
const result = [];
for (let i = 0; i < str.length; i += n) {
result.push(str.slice(i, i + n));
}
return result;
}
# 输出结果
(5) ['abcd', 'efgh', 'ijkl', 'mnop', 'q']
[]
2、使用正则表达式实现
function splitStringByLength(str, n) {
return str.match(new RegExp(`.{1,${n}}`, "g")) || [];
}
const splitArray1 = splitStringByLength("abcdefghijklmnopq", 4);
const splitArray2 = splitStringByLength("", 3);
console.log(splitArray1);
console.log(splitArray2);
# 输出结果
(5) ['abcd', 'efgh', 'ijkl', 'mnop', 'q']
[]
3、使用正则表达式简化实现
const splitStringByLength = (str, n) => str.match(new RegExp(`.{1,${n}}`, "g")) || [];
const splitArray1 = splitStringByLength("abcdefghijklmnopq", 4);
const splitArray2 = splitStringByLength("", 3);
console.log(splitArray1);
console.log(splitArray2);
# 输出结果
(5) ['abcd', 'efgh', 'ijkl', 'mnop', 'q']
[]