javascript - 过滤函数中的一行中有多个三元运算符

标签 javascript ecmascript-6

let result = myList.map(obj => {
  return({
    "count": obj.key === data.type || obj.key === 'All' ? obj.count-1 : obj.count,
    "name": obj.name
  })
})

上述逻辑将增加一个obj.key,并且在obj.key上等于'All',但我有另一个条件,即减去另一个键。我很好奇如何制作双三元运算符。

最佳答案

一般来说,每个条件构造都是这样的:

if (condition1) {
  a = 1;
} else if (condition2) {
  a = 2;
} else if (condition3) {
  a = 3;
} else {
  a = null;
}

你可以这样写:

a = condition1 ? 1 : condition2 ? 2 : condition3 ? 3 : null;

关于javascript - 过滤函数中的一行中有多个三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45232264/

相关文章:

javascript - 网络音频中的多个实例

c# - Javascript 确认或其他类型的确认

javascript - 无法让 "If paused"在 vi​​deojs 中工作

javascript - 当错误消息是一个对象时,如何在 javascript 中创建一个新的错误

javascript - 删除最后一个字符时光标返回到 contenteditable Div 的开头

javascript - Webpack 2 没有正确摇树 D3.js

javascript - 如何检查子类是否覆盖了父类的方法/函数?

javascript - 从数组/对象/集合中删除匿名 JavaScript 函数

javascript - Reactive-Extensions/RxJS 和 ReactiveX/rxjs 有什么区别

javascript - yarn 运行 babel src/-- -d lib/babel -- src/-d lib/-d 不存在。库/不存在