如何正确格式化 switch 语句[关闭]

问题描述 投票:0回答:1

如有任何帮助,我们将不胜感激! 问题:如果时间大于或等于 0,但小于 12,则为早上。如果时间大于或等于 12,但小于 24,则为晚上。如果时间是任何其他值,则问候语应始终为空,无论语言如何。

如果国家是西班牙或墨西哥,早上问候语应为“buenos dias”,晚上应为“buenas noches”。如果国家/地区是法国,问候语早上应为“bon matin”,晚上应为“bon soir”。如果国家/地区是任何其他值,则问候语应始终为空,无论何时(我们的字典中还没有很多语言......)

function sayHello(country, time) {
let greeting;
switch (sayHello) {
case ('Spain' | 'Mexico' && 0-11):
greeting = 'buenos dias'
case ('Spain' | 'Mexico' && 12-23):
greeting = 'buenos noches'
break;
case ('France' && 0-11):
greeting = 'bon matin'
case ('France' && 12-23):
greeting = 'bon soir'
break;
default:
console.log(greeting = null)
};

return greeting;
javascript switch-statement
1个回答
0
投票

您可以仅检查失败的

country
并检查分配问候语的时间。

默认只需使用

null

进行初始化

function sayHello(country, time) {
    let greeting = null;
    switch (country) {
        case 'Spain':
        case 'Mexico':
            greeting = time < 12 ? 'buenos dias' : 'buenos noches';
            break;
        case 'France':
            greeting = time < 12 ? 'bon matin' : 'bon soir';
            break;
    }

    return greeting;
}

console.log(sayHello('Spain', 8));
console.log(sayHello('Mexico', 8));
console.log(sayHello('France', 20));
console.log(sayHello('Germany', 12));

© www.soinside.com 2019 - 2024. All rights reserved.