JS拼接字符串的效率

JS拼接字符串的效率JS 拼接字符串的方式 1 最常见的是 2 还可以先将字符串转化为数组 然后调用 Join 实现字符串拼接 arr push str returnarr join 效率分为运行速度和内存消耗问题 网上查了相关资料 结论就是 join 在字符串字节很大时 百万级以上 用 join 会明显快于用 实现的字符串拼接 用 耗时大概时 10 秒 用 join 大概是几百毫秒 当字节数很

JS拼接字符串的方式,

1、最常见的是+=;

2、还可以先将字符串转化为数组,然后调用Join实现字符串拼接

arr.push(str);

return arr.join(“”);

效率分为运行速度和内存消耗问题,网上查了相关资料,结论就是join在字符串字节很大时(百万级以上),用join会明显快于用+=实现的字符串拼接(),用+=耗时大概时10秒,用join大概是几百毫秒,当字节数很少时,两种方法耗时差距可以忽略,而且用join还需要开数组变量,耗内存,所以这时候推荐用+=;

———-运行速度————-

博主试着跑了下,十万级别的字节数,+=耗时几乎为0,join耗时为7毫秒左右;百万级别的字节数,+=耗时在75毫秒上下波动,join耗时在68毫秒上下波动,两者差距可以忽略;千万级别的字节,两者耗时差距在200毫秒内波动,+=耗时在1000毫秒左右,join耗时在800毫秒左右波动;亿级的字节数,超过字符最大上限,报错了。

故当字节数低于百万级别的时候,推荐用+=实现字符串拼接,当字节数为千万级别的时候,如果对运行速度有要求,可以采取join实现拼接。如果对运行速度要求较高,百万级别及以上的字符串拼接推荐用join实现。

至于别的博文里面为什么百万级的字节数跑出来的效果,+=耗时10秒以上,可能是当时(5年前)的CPU性能较差造成的,现在CPU的性能已经足够完成百万级字节数的拼接,所以博主跑出来的只有1秒,快了10倍。

————字符串内存————

既然不同的拼接方式耗时不同,那么这中间的过程肯定是不一样的。

chrome在用+进行拼接时,生成的字符串包含(),例如a+b,生成的是(a,b),再加c,生成的是((a,b),c),改用join生成的字符串则是ab,可以节省大量内存(10倍以上的差距)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199549.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 下午12:45
下一篇 2026年3月20日 下午12:45


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号