JavaScript 中字符串 concat 的可怕性能
Horrible performance for string concat in JavaScript?
我正在尝试将一个在包含 672 个元素的本地网页中修改的数组发布回服务器。为此,我把它放在一个字符串中,用逗号分隔,在Javascript中,如下所示:
alert("begin");
var sBsbData=""
for (var x=0;x<24*4*7;x++)
sBsbData = sBsbData + BsbData[x] + ',';
alert(sBsbData);
BsbData 是一个 int 数组;值不超过 10。
这是任何处理器都会毫不眨眼地处理的代码......然而,两个警报之间大约需要十秒钟!我在这里做错了什么??为此,我是否选择了特别糟糕的 concat 方法?
它并不慢 - 这是需要一段时间才能创建的alert
(出于某种奇怪的原因)。
概念验证:
var BsbData = [];
for (var i = 0; i < 24 * 4 * 7; i++) {
BsbData[i] = Math.round(Math.random() * 10);
}
console.log("begin");
alert("begin");
var sBsbData=""
for (var x=0;x<24*4*7;x++)
sBsbData = sBsbData + BsbData[x] + ',';
console.log(sBsbData);
// !!! This is where the code will halt for a bit (the string has already been created) !!!
alert(sBsbData);
也就是说 - 你应该只使用var sBsbData = BsbData.join(',');
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 提高JQuery的性能
- 使用正则表达式评估电子邮件地址时出现性能问题
- React:按键的性能提升
- 在Three.js中导出网格会提高性能吗
- 在javascript中搜索项目列表的性能
- 为什么在许多浏览器中drawImage()的性能略好于createPattern()
- JavaScript数组优化以提高性能
- React+Redux性能优化与组件ShouldUpdate
- 在循环中附加事件处理程序时出现浏览器性能问题
- JavaScript-===vs===运算符性能
- 超时功能的性能
- 如何在包装功能中咕哝concat
- javascript concat
- Pg承诺性能提升:在冲突中
- immutable.js与嵌套映射/对象的比较/相等性能
- NodeJ中的注释会影响性能吗
- 如果条件为循环-性能差异
- Grunt concat js angularjs 不起作用
- JavaScript 中字符串 concat 的可怕性能