其实实现的方法很简单, 只要稍微了解数组和字符串的转换就可以完成操作
第一种方法:
第一种方法就是少创建一个数组, 代码可读性比较好
var turnToArr = function(content){
let arr = [];
let num = 0;
let start = 0;
let end = 0;
for (let i = 0; i < content.length; i++) {
if (content[i] === "。") {
num++;
}
if (num % 3 === 0 && num !== 0) {
end = i + 1;
// i + 1 可以包括到后面的句号
arr.push(content.slice(start, end));
start = end;
num = 0;
}
}
arr.push(content.slice(start, content.length).concat("。"));
function test(func) {
var start = new Date().getTime(); //起始时间
func(); //执行待测函数
var end = new Date().getTime(); //接受时间
return end - start + "ms"; //返回函数执行需要时间
}
console.log(test(turnToArr));// 查看运行时间
};
第二种方法:
var turnToArr = function(content){
let arr = content.split("。");
let newArr = [];
let num = 0;
for (let i = 0; i < arr.length; i++) {
if (i % 3 === 0) {
newArr.push(
arr
.slice(i, i + 3)
.join("。")
.concat("。")
);
}
}
};
function test(func) {
var start = new Date().getTime(); //起始时间
func(); //执行待测函数
var end = new Date().getTime(); //接受时间
return end - start + "ms"; //返回函数执行需要时间
}
console.log(test(turnToArr));// 查看运行时间