有什么方法可以简化这个if / else块吗?

时间:2019-07-28 00:46:19

标签: javascript node.js

 function (flag) {
 if (flag) {
 let id = "name",key = "age"
 return {id,key};
 } else {
 let id = "boy",key = "girl"
 return {id,key};
 }
 }

还有其他可读的解决方案来处理此问题吗?

2 个答案:

答案 0 :(得分:2)

考虑只是返回普通对象,而不是事先定义独立变量。如果需要,您还可以考虑使用条件运算符和箭头函数的隐式返回以减少语法干扰:

const flagFn = flag => flag
  ? { id: 'name', key: 'age' }
  : { id: 'boy', key: 'girl' };

答案 1 :(得分:1)

除了已经回答的问题以外,还有几个选择:

const flagCheck = flag => {
    const id = flag ? 'name' : 'boy';
    const key = flag ? 'age' : 'girl';
    return { id, key };
};
const flagCheck = flag => ({
    id: flag ? 'name': 'boy',
    key: flag ? 'age': 'girl'
});