简体   繁体   English

我如何才能长时间优化其他版本

[英]how i can optimize long if else to optimized version

In my following code i am setting status of two scope variables based on Anding operation. 在下面的代码中,我将基于Anding操作设置两个范围变量的状态。

Depending on the key im calling the relevant method (the difference in both methods is checking prop3. 根据调用相关方法的键的不同(两种方法的区别在于检查prop3。

I feel it has quite redudant code but not sure how i can optimize it. 我觉得它有很多冗余的代码,但不确定如何优化它。 Any idea how i can achieve my objective with short code? 知道我如何用短代码实现目标吗?

if(key =='White')
    _checktests1();
else
    _checktests2 ();

var _checktests1 = function () {
    if ($scope.test.Prop1 == "one" && $scope.test.Prop2 == "two")
        $scope.checkWhiteStatus = true;
    else
        $scope.checkWhiteStatus = false;

    if ($scope.test.Prop1 == "three" && $scope.test.Prop2 == "four" )
        $scope.checkGreenStatus = true;
    else
        $scope.checkGreenStatus = false;
}
var _checktests2 = function () {
    if ($scope.test.Prop1 == "one" && $scope.test.Prop2 == "two" && $scope.test.Prop3 == "five")
        $scope.checkWhiteStatus = true;
    else
        $scope.checkWhiteStatus = false;

    if ($scope.test.Prop1 == "three" && $scope.test.Prop2 == "four" $scope.test.Prop6 == "six")
        $scope.checkGreenStatus = true;
    else
        $scope.checkGreenStatus = false;
}

You can do : 你可以做 :

$scope.checkWhiteStatus = ($scope.test.Prop1 == "one" && $scope.test.Prop2 == "two" && (key =='White' || $scope.test.Prop3 == "five"));

$scope.checkGreenStatus = ($scope.test.Prop1 == "three" && $scope.test.Prop2 == "four" && (key =='White' || $scope.test.Prop6 == "six"));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM