упростить оператор if в Javascript - PullRequest
0 голосов
/ 24 января 2020
$scope.vergleich = function () {
    if ($scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei || dataService.dic.neu.rechtsformKanlei ) !== -1) {
        return true
    } else {
        return false;                   }
    }
}

Я сейчас студент, и IntelliJ говорит мне, что мне нужно упростить это if-утверждение, но я понятия не имею, как. Может быть, кто-нибудь может мне помочь.

Ответы [ 4 ]

4 голосов
/ 24 января 2020

Упрощение, вероятно, заключается в том, что, если condition - логическое значение, то:

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

эквивалентно

return condition;

Однако также, по-видимому, быть логической ошибкой в ​​вашем тесте.

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

Означает ли не то же самое, что и:

$scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei) !== -1 || 
$scope.relrechtsform.indexOf(dataService.dic.neu.rechtsformKanlei) !== -1
3 голосов
/ 24 января 2020

Может быть, вы ищете это:

 $scope.vergleich = function () {
  return $scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei || dataService.dic.neu.rechtsformKanlei ) !== -1;
};
1 голос
/ 24 января 2020

Версия Тана - правильный ответ на ваш вопрос. Однако с недавним JavaScript вы можете упростить еще больше благодаря array.includes:

$scope.vergleich = () =>
    $scope.relrechtsform.includes(dataService.dic.alt.rechtsformKanlei || dataService.dic.neu.rechtsformKanlei)
0 голосов
/ 24 января 2020

Вы можете просто использовать свое условие вместо выражения IF else -:

$scope.vergleich = function () {
    return ($scope.relrechtsform.indexOf(dataService.dic.alt.rechtsformKanlei ||
                        dataService.dic.neu.rechtsformKanlei ) !== -1);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...