简体   繁体   English

简化 Javascript 中的 if 语句

[英]simplify if-statement in Javascript

$scope.vergleich = function () {
    if ($scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei || dataService.dic.neu.rechtsformKanlei ) !== -1) {
        return true
    } else {
        return false;                   }
    }
}

I am currently student and intelliJ tells me I have to simplify this if-statement but I have no idea how.我目前是学生,intelliJ 告诉我我必须简化这个 if 语句,但我不知道如何。 Maybe somebody can help me.也许有人可以帮助我。

The simplification is probably that, if condition is a boolean, :简化可能是,如果condition是布尔值,则:

if (condition) { 
  return true;
} 
else { 
  return false;
}

is equivalent to相当于

return condition;

However there also seems to be a logical error in your test.但是,您的测试中似乎也存在逻辑错误。

$scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei ||
                        dataService.dic.neu.rechtsformKanlei ) !== -1

Does not mean the same thing as :但这并不意味着同样的事情:

$scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei) !== -1 || 
$scope.relrechtsform.indexOf(dataService.dic.neu.rechtsformKanlei) !== -1

Maybe you're looking for this:也许你正在寻找这个:

 $scope.vergleich = function () {
  return $scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei || dataService.dic.neu.rechtsformKanlei ) !== -1;
};

Tân's version is a correct answer to your question. Tân 的版本是您问题的正确答案。 However, with recent JavaScript you can simplify even more thanks to array.includes :但是,使用最新的 JavaScript,您可以通过array.includes进一步简化:

$scope.vergleich = () =>
    $scope.relrechtsform.includes(dataService.dic.alt.rechtsformKanlei || dataService.dic.neu.rechtsformKanlei)

You can just use your condition instead of using IF else statement -:您可以只使用您的条件而不是使用IF else语句 -:

$scope.vergleich = function () {
    return ($scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei ||
                        dataService.dic.neu.rechtsformKanlei ) !== -1);
};

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

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