Javascript 如果所有字母都显示在字符串中,是否返回true? 函数匹配(字符串、模式){ pattern=pattern.toLowerCase(); string=string.toLowerCase(); 对于(变量i=0;i函数匹配(输入,模式){ pattern=pattern.toLowerCase(); input=input.toLowerCase(); 对于(var i=0;i
来说,如果您使用它会更好。它更短,而且您的意图是显而易见的Javascript 如果所有字母都显示在字符串中,是否返回true? 函数匹配(字符串、模式){ pattern=pattern.toLowerCase(); string=string.toLowerCase(); 对于(变量i=0;i函数匹配(输入,模式){ pattern=pattern.toLowerCase(); input=input.toLowerCase(); 对于(var i=0;i,javascript,string,Javascript,String,来说,如果您使用它会更好。它更短,而且您的意图是显而易见的 function match (input,pattern){ pattern = pattern.toLowerCase(); input= input.toLowerCase (); for (var i=0;i<input.length;i++){ var found = false; for (var j=0;j<pattern.length;j++){ if (patte
function match (input,pattern){
pattern = pattern.toLowerCase();
input= input.toLowerCase ();
for (var i=0;i<input.length;i++){
var found = false;
for (var j=0;j<pattern.length;j++){
if (pattern.charAt(j)==input.charAt(i)){
// Letter was found, skip to next one
found = true;
break;
}
}
// As soon as we conclude that one letter was not found, abort
if (found == false){
return false;
}
}
// All letters were found, return SUCCESS
return true;
}
与嵌套在另一个循环中的
for
循环相比,此循环的可伸缩性要好得多:
function match (str, pattern) {
str = str.toLowerCase();
return pattern.toLowerCase().split("").every(function(c) {
return str.indexOf(c) !== -1;
});
}
请添加您用作标记的语言。它在某处显示意外标识符?更新了答案。顺便说一句,您确实应该学习如何使用
Firebug
进行调试:
function match (str, pattern) {
str = str.toLowerCase();
return pattern.toLowerCase().split("").every(function(c) {
return str.indexOf(c) !== -1;
});
}
function everyChar(sample,pattern){
var patTable=Object.create(null);
var aSample=Array.prototype.slice.call(sample.toLowerCase());
var aPattern=Array.prototype.slice.call(pattern.toLowerCase());
aPattern.forEach(function(c){patTable[c]=true;});
aSample.forEach(function(c){delete patTable[c];});
return Object.keys(patTable).length==0;
}
var sample_pass="pack my box with five dozen liquor jugs";
var pat="the quick brown fox jumped over the lazy dogs";
everyChar(sample_pass,pat);
/*
true
*/
var sample_fail="pack my bag with five dozen liquor jugs";
everyChar(sample_fail,pat);
/*
false
*/