【问题标题】:Most efficient way to concatenate strings JavaScript in a for loop在 for 循环中连接字符串 JavaScript 的最有效方法
【发布时间】:2018-11-06 18:12:45
【问题描述】:

假设您有一个 for 循环,并且您想使用 template literals 以非常特定的方式构建一个字符串

我找到了两种类似的方法。

let text = ''
words = ['Hello', 'world']
for (i = 0; i < n; i++) {
    text += `${words[i]} || `
}

或者

let text = ''
words = ['Hello', 'world']
for (i = 0; i < n; i++) {
    text = `${text}${words[i]} || `
}

两者产生相同的输出(Hello || world ||)

性能或标准有什么不同吗?

【问题讨论】:

  • 您可以在jsperf.com比较性能
  • 将此['Hello', 'world'].concat('').join(" || ") 添加为衡量绩效的任务。
  • 另一个性能比较器:jsben.ch/FskS4
  • “哪个更有效”的问题通常不会很好地解决问题。加入数组而不是重复的字符串连接曾经是正确的答案,但随后浏览器供应商优化了后者,使其更有效。答案会因 JS 引擎而异。
  • 非常感谢您的 cmets 和帮助!

标签: javascript arrays string loops


【解决方案1】:

我今天会使用words.join(" || ")+" || " 是最快的方法,看到这个http://jsben.ch/DlXOa,正如@jacob 指出的那样,这是一个相对的结论。但是,作为 JavaScript 中的一般规则,通常内置方法更快。

【讨论】:

    猜你喜欢
    • 2015-12-16
    • 2013-05-17
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多