基本上,我需要从包含在主字符串中的数组中获取单词
我这里有一个循环代码,但我认为有一个一行程序可以做到这一点。我需要的代码被优化,不仅在代码长度,而且在性能。
谢谢
var aValidWords = ["ex", "exes", "expert",
"experts", "expertise", "sex", "sexes",
"exchange", "change", "changes"];
var sMainWord = "expertsExchange";
var aPossibleWords = new Array();
var sMainWordLower = sMainWord.toLowerCase();
for(i=0; i < aValidWords.length; i++){
var sCurrentWord = aValidWords[i].toLowerCase();
if(sMainWordLower.indexOf(sCurrentWord) != -1){
aPossibleWords.push(aValidWords[i]);
}
}
document.write(aPossibleWords.join("<br />"));发布于 2012-12-24 00:21:21
这个循环肯定比你所拥有的更简洁,但是在不同的浏览器中运行一些测试来找出哪个更快是值得的。我认为正则表达式匹配可能更快,但我很好奇编译正则表达式是否会有任何性能损失。
for(var i=0; i<aValidWords.length; i++) {
if (new RegExp(aValidWords[i], 'i').test(sMainWord))
aPossibleWords.push(aValidWords[i]);
}https://stackoverflow.com/questions/14009583
复制相似问题