有没有办法在三元运算符中使用三个条件?
或者是否有比遗留的更好的想法来实现这一目标?
let tmpgender = $('#gender').text().trim();
let gender = null;
tmpgender == "female" ? gender : 'f';
tmpgender == "male" ? gender : 'm';
tmpgender == "unisex" ? gender : 'u';
console.log(gender);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="gender">female</div>
最佳答案
改用由 tmpgender
索引的对象:
const genders = {
female: 'f',
male: 'm',
unisex: 'u'
};
const tmpgender = $('#gender').text().trim();
const gender = genders[tmpgender];
console.log(gender);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="gender">female</div>
如果您必须使用条件运算符,您可以这样做
const genders = {
female: 'f',
male: 'm',
unisex: 'u'
};
const tmpgender = $('#gender').text().trim();
const gender = tmpgender === 'female'
? 'f'
: tmpgender === 'male'
? 'm'
: tmpgender === 'unisex'
? 'u'
: 'unknown';
console.log(gender);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="gender">female</div>
但这很难看并且难以阅读,我非常喜欢对象方法。
关于javascript - 如何通过三元运算符使用多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55842184/