首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在nodeJS/JavaScript中连接字符串的快速方法

在nodeJS/JavaScript中连接字符串的快速方法
EN

Stack Overflow用户
提问于 2012-12-13 20:07:35
回答 2查看 228.5K关注 0票数 59

我知道做这样的事情

代码语言:javascript
复制
var a = "hello";
a += " world";

它相对非常慢,因为浏览器在O(n)中做到了这一点。有没有更快的方法可以不用安装新的库就可以做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2012-12-14 08:31:59

这个问题已经回答了,但是当我第一次看到它的时候,我想到了NodeJS Buffer。但它比+慢得多,所以在字符串连接中,很可能没有什么比+更快了。

使用以下代码测试

代码语言:javascript
复制
function a(){
    var s = "hello";
    var p = "world";
    s = s + p;
    return s;
}

function b(){
    var s = new Buffer("hello");
    var p = new Buffer("world");
    s = Buffer.concat([s,p]);
    return s;
}

var times = 100000;

var t1 = new Date();
for( var i = 0; i < times; i++){
    a();
}

var t2 = new Date();
console.log("Normal took: " + (t2-t1) + " ms.");
for ( var i = 0; i < times; i++){
    b();
}

var t3 = new Date();

console.log("Buffer took: " + (t3-t2) + " ms.");

输出:

代码语言:javascript
复制
Normal took: 4 ms.
Buffer took: 458 ms.
票数 29
EN

Stack Overflow用户

发布于 2012-12-13 20:15:17

在JavaScript中,实际上没有任何其他方法可以连接字符串。

从理论上讲,您可以使用.concat(),但这是,而不仅仅是+

库通常比本机JavaScript慢,特别是在字符串连接或数值操作等基本操作上。

简单地说:+是最快的。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13859543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档