javascript - 如何通过三元运算符使用多个条件

标签 javascript jquery

有没有办法在三元运算符中使用三个条件?

或者是否有比遗留的更好的想法来实现这一目标?

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/

相关文章:

javascript - 当用户按值向上滚动时标题重新出现 (100px)

javascript - IE9 SCRIPT87 : Invalid argument on XDomainRequest

javascript - Rails 形成部分中断 Bootstrap 弹出窗口

javascript - 将 'rect' 元素添加到 d3 中的空白 svg Canvas 在 .data() 上失败

Javascript 对象文字将属性传递给 jquery 插件选项

jquery - CodaSlider 1.1.1 高度问题

javascript - 从 JS 传递变量并在 PHP 中使用它不起作用

javascript - 将 $mdDialog 添加到 Angular 函数

javascript - 在子 iframe 节点中调用 Javascript 函数

javascript - 引用错误: is not defined : localStorage