背景:下面的代码工作正常,我能够使用这两个函数并返回预期值。
问:有没有办法简化下面的函数编码?
red_messages_disabled_p1() {
let s = this.status;
if (s.red_messages[0] === null) {
return 'none';
} else {
return 'inline-block';
}
},
red_messages_disabled_p2() {
let s = this.status;
if (s.red_messages[1] === null) {
return 'none';
} else {
return 'inline-block';
}
},
我试过什么了?我试过想弄明白,但是没有头绪,我想这是不可能再简化了,对吗?
期待?我期待可能有简化的方式为这个编码.
5条答案
按热度按时间v6ylcynt1#
第一种选择:
第二种选择:
yjghlzjz2#
避免代码重复。两个函数包含相同的逻辑。因此,将该逻辑移到一个单独的方法中,如下所示:
这不仅简化了代码,而且在您决定将来更改逻辑时,也使代码不易出错。
此外,用三元运算符替换
if-else
可能不是一个好主意,因为:1)它实际上并没有简化逻辑,只是语法不同; 2)三元运算符可读性较差。tcbh2hod3#
使用参数化函数
yws3nbqq4#
使用三元运算符
ee7vknir5#
对于这个问题已经有很多很好的答案了,但是我想提交我自己的解决方案。
但是,我认为您可以将
s.red_messages[index]
传递给函数