gpt4 book ai didi

javascript - Ruby case-when 与 JavaScript switch-case

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:36 25 4
gpt4 key购买 nike

我来自Ruby世界,进入JavaScript世界。 Ruby 语言的一个特性是使用 case 语句来评估目标值:

my_val = case my_var
when "var1" then "value1"
when "var2" then "value2"
else "value3"
end

# my_val evaluated to a specific value
puts my_val

我可以像上面那样用 JavaScript 做一些简洁的事情吗?这是我得到的最接近的:

let myVal = null;
switch (myVar) {
case "var1":
myVal = "value1";
break;
case "var2":
myVal = "value2";
break;
default:
myVal = "value3";
}

// my_val evaluated to a specific value
console.log(myVal);

最佳答案

您可以使用具有三元的对象来设置默认值,如下所示:

const obj = {
"var1":"value1",
"var2":"value2",
"defaultVal": "value3" // default value
},
getVal = sVar => sVar in obj ? obj[sVar] : obj["defaultVal"];

// Use case 1:
console.log(getVal("var1")); // get "var1" from the object

// Use case 2:
console.log(getVal("foo")); // get "foo" from the object, doesn't exsist, so we get the default value

上面创建了一个对象,其中对象中的每个键都指向一个值(即 myVar 应该变成的值)。如果 myVar 不在对象中,它将默认为 defaultVal,如果它在对象中,它将检索关联的值。

关于javascript - Ruby case-when 与 JavaScript switch-case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54918451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com