您能否看一下这一点,让我知道有没有办法在三元运算符中使用3个条件?
还是有条件实现这一目标,而不是传承呢?
let tmpgender = $('#gender').text().trim();
let gender = null;
tmpgender == "female" ? gender : 'f';
tmpgender == "male" ? gender : 'm';
tmpgender == "unisex" ? gender : 'u';
console.log(gender);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="gender">female</div>Run Code Online (Sandbox Code Playgroud)
使用索引为的对象tmpgender:
const genders = {
female: 'f',
male: 'm',
unisex: 'u'
};
const tmpgender = $('#gender').text().trim();
const gender = genders[tmpgender];
console.log(gender);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="gender">female</div>Run Code Online (Sandbox Code Playgroud)
如果必须使用条件运算符,则可以执行
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);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="gender">female</div>Run Code Online (Sandbox Code Playgroud)
但这很丑陋且难以阅读,我非常喜欢对象方法。