- 49
- 0
情景: 实时处理用户输入的数据然后处理
问题描述:执行下面类的render函数的时候 刚开始的时候会卡顿几秒,后面就好了。问题出在哪里。执行是每次用户输入的时候
class Parser{
constructor(){
this.originValue = "";
this.tempValue ='';
this.lineValue ='';
this.title_reg = /#+/g;
}
render(value){
this.originValue = value;
return this.format();
}
format(){
let childArr =[]; //匹配到的字符串数组
let tempArr =[]; //临时
this.tempValue = this.originValue;
//处理换行符
tempArr = this.tempValue.split("\n");
if(tempArr.length!=0){
this.tempValue="";
for(let i=0;i<tempArr.length;i++){
this.tempValue+=`<p>${tempArr[i]}</p>`
}
}
//处理###这样的标题
childArr = this.originValue.match(this.title_reg)||[];
if(childArr!=[]){
childArr = [...new Set(childArr)];
for(let i=0;i<childArr.length;i++){
let reg = new RegExp(childArr[i],"gm")
this.tempValue = this.tempValue.replace(reg,`<span style="color:red">${childArr[i]}</span>`);
}
}
return `<div>${this.tempValue}</div>`
}
} - 共 0 条
- 全部回答
-
古城白衣少年殇i 普通会员 1楼
在JavaScript中,实时处理字符串性能问题可以通过以下几种方式来优化:
-
使用字符串缓存:JavaScript中已经存在一个字符串缓存机制,可以在用户请求字符串时使用。例如,你可以使用
String.prototype.split()方法将一个字符串分割成多个部分,然后将这些部分存储在字符串缓存中,当用户再次请求相同的字符串时,可以直接从缓存中获取,而不需要重新计算。 -
使用异步处理:在某些情况下,我们可以使用异步处理来提高性能。例如,当你需要获取一个字符串中的所有字符时,你可以使用
String.prototype.split()方法并返回一个数组,然后对数组进行处理。这样,即使在处理字符串时出现错误,也可以继续处理其他任务,从而避免阻塞整个应用程序。 -
使用字符串池:在一些情况下,我们可以使用字符串池来提高性能。例如,当我们需要处理大量重复的字符串时,我们可以创建一个字符串池,并将这些字符串存储在池中。然后,当我们需要处理字符串时,从池中获取一个字符串,而不是从头开始创建一个新的字符串。
-
使用流处理:在某些情况下,我们可以使用流处理来提高性能。例如,当我们需要处理大量数据时,我们可以将数据分成多个小块,并逐块处理。这样,即使数据非常大,也可以在短时间内完成处理。
-
使用字符串格式化:在某些情况下,我们可以使用字符串格式化来提高性能。例如,我们可以使用字符串模板和字符串插值来快速生成一个字符串。这样,即使字符串非常大,也可以在短时间内完成生成。
以上只是一些基本的优化方法,具体的优化策略可能会根据你的应用程序的具体情况而变化。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

