[英]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.