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

时间:2017-07-21 08:02:17

标签: 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',但我有另一个条件,即减去另一个键。我很好奇如何制作双三元运算符。

1 个答案:

答案 0 :(得分:0)

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

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;