【发布时间】:2023-01-11 11:58:23
【问题描述】:
我想弄清楚如何将两个不同的条件应用于 switch 语句中的一个输出。例如,我有一个函数可以根据第二个参数获得的参数来设置字符串样式。第一个和第二个输出没问题,因为它只有一个样式参数,但第三个输出有。我找不到将大写和反向样式应用于字符串的方法。我试图循环一个 switch 语句。我想知道是否有任何好的解决方案。
function caseStyle(string, style) {
function toUpper(string) {
string = string.toUpperCase();
return string;
}
function toReversed(string) {
string = string.split("").reverse().join("");
return string;
}
switch (style) {
case "upper":
string = toUpper(string);
break;
case "reversed":
string = toReversed(string);
break;
}
return string;
}
console.log(caseStyle("hello", "upper")); //output: HELLO
console.log(caseStyle("hello", "reversed")); //output: olleh
console.log(caseStyle("hello", ["upper", "reversed"])); // expected output: OLLEH
【问题讨论】:
-
你需要介绍新的案例。
case "reversedUpper": return toUpper(toReversed(string)) -
你需要检查
style是否是一个数组,并相应地处理 -
检查样式是否为数组。如果不是像
style = [style]那样使它成为单个元素数组,然后在测试每个元素的样式数组上执行 for 循环。这将允许您拥有任意数量的样式
标签: javascript