循环遍历此字符串时,警报会打印出 test 4 次(正确),但最后还会打印“未定义”。我如何使它不返回未定义。
这将返回 - undefinedCAFE ::
alert(match("abcdef", "CAfe"));
function match(string, pattern) {
var patternUpperCase = pattern.toUpperCase();
var stringUpperCase = string.toUpperCase();
var stringConcatenate;
var answer;
for (var i = 0; i < patternUpperCase.length; i++) {
if (patternUpperCase.charAt(i) != undefined) {
if (patternUpperCase.charAt(i) >= 'A' && patternUpperCase.charAt(i) <= 'Z') {
stringConcatenate += patternUpperCase.charAt(i);
alert("test");
}
}
}
return stringConcatenate;
}
这是函数需要做的:如果所有单独的模式字母都出现在字符串中(不管顺序),则返回 true(不区分大小写)
示例 match("abcdef","@C2D!") 返回 true match("abcdef","CAfe") 返回 true match("abcdef","CG") 返回 false