【问题标题】:String.search() vs String.split() and iteration in JavaScriptString.search() vs String.split() 和 JavaScript 中的迭代
【发布时间】:2012-07-17 18:24:26
【问题描述】:

假设我有一串水果名称

var string = "cherries,oranges,limes"

还有一堆红色水果

var array = ["tomatoes", "cherries", "raspberries"]

如果我想在javascript中查找字符串是否有任何红色水果,我可以这样做

for(var i=0; i<array.length; i+=1){
    if(string.search(array[i])!=-1){
        return string.search(array[i]);

}

这与下面的比较如何?

var string_array= string.split(','); 
for(var i=0; i<array.length; i+=1){
    for(var j=0; j<string_array.length; j+=1){
       if(string_array[j]==array[i]){
       return string_array[j];
       }
}
}
return -1;

【问题讨论】:

  • 你是什么意思“这将如何比较”?您想知道使用 Chrome 的分析器或 jsperf 观察到的速度差异有多大?
  • 是的,我的意思是性能方面。

标签: javascript performance search split loops


【解决方案1】:

这不行;

for(var i=0; i<array.length; i+=1){
   return string.search(array[i]);
}

您将在第一次迭代时返回。

所以,这不能很好地比较。

顺便说一句,如果您对脚本性能比较感兴趣,我建议您尝试使用jsperf

【讨论】:

  • 糟糕,错过了。上面固定。谢谢推荐。
猜你喜欢
  • 1970-01-01
  • 2010-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
相关资源
最近更新 更多