if-else代码健壮性问题

2020-10-16 11:21发布

比如说有一个数组 arr = [1,2,3,4,5,6]

for(let i =0;i<arr.length;i++) {
if( arr[i] === 7 ) {
//todo
}
}
//加一个else
for(let i =0;i<arr.length;i++) {
if( arr[i] === 7 ) {
//todo
} else {
return true;
}
}
比如这种情况,当我所有的条件都不符合时,下面加了else代码是否比上面的要稍微好一些,还是说上面不使用else代码就行,或者说各位大佬有好的写法分享一下。

标签:
4条回答
家丑人穷心不美
2楼-- · 2020-10-16 11:36

除了7这个条件,其他条件你不做操作的话是可以不用写的

查看更多
太酷不给撩
3楼-- · 2020-10-16 11:39

教材中都说一个方法一个return比较好,我觉得编写教材的人可能没什么工作经验,如果一个函数有很多行代码,多个return会看花眼,但是如果行数不是太多(或者是行数很多,但是多个return前面的代码都类似),多个return看起来很舒服,如:

def any7(array):
    for e in array:
        if e == 7:
            return true
    return false

比较一下:

def any7(array):
    have7 = false
    for e in array:
        if e == 7:
            have7 = true
            break
    return have7
查看更多
放我归山
4楼-- · 2020-10-16 11:58

我會認為return在for迴圈外較好
單一回傳點更容易閱讀

查看更多
Anthone
5楼-- · 2020-10-16 11:59

不用加else,要是不想进行之后的步骤可以在if内加个continue;

甚至确定只有一次7的话还可以if内break;

查看更多
登录 后发表回答