我无法弄清楚如何编写速记条件语句。以下是代码示例:
const siteIdentifier = "bar";
const refOne = "foo";
const refTwo = "bar";
(siteIdentifier == refOne || refTwo) ? "primary" : "secondary";
我也尝试过使用.match
和其他版本,但也没有成功。
我希望将siteIdentifier
字符串与两个可能的字符串进行比较。如果字符串匹配,我们将返回"primary"
。如果它与两者中的一个不匹配,则返回"secondary"
。
答案 0 :(得分:4)
一种方式是
(siteIdentifier == refOne || siteIdentifier == refTwo) ? "primary" : "secondary";
...另一个可能是(当你有许多字符串要匹配时更有用)
~[refOne, refTwo].indexOf(siteIdentifier) ? "primary" : "secondary";
与
相同[refOne, refTwo].indexOf(siteIdentifier) >= 0 ? "primary" : "secondary";
答案 1 :(得分:0)
试试这个:
(siteIdentifier == refOne) ? "primary" : (siteIdentifier == refTwo ? "primary" : "secondary");
答案 2 :(得分:0)
仅仅为了完整性,一个具有所有可能性的对象。
const obj = { foo: 'primary', bar: 'primary', default: 'secondary'};
x = obj[siteIdentifier] || obj.default;