关于三元运算符使用多条件的问题

Beh*_*ini 0 javascript jquery

您能否看一下这一点,让我知道有没有办法在三元运算符中使用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)

Cer*_*nce 6

使用索引为的对象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)

但这很丑陋且难以阅读,我非常喜欢对象方法。