【问题标题】:How to write if ,else block for multiple conditions?如何为多个条件编写 if ,else 块?
【发布时间】:2015-10-07 20:24:56
【问题描述】:

我是 javascript 新手,用下面的代码编写 if 和 else 块的正确方法是在语法不正确的 else 条件下出现错误。请让我知道我实施的错误。

main.js

if (dataRow.opriskYesNo === 'Yes') {
    $scope.opRiskCompleted = 'Y';
} else if (dataRow.opriskYesNo === 'No') {
    $scope.opRiskCompleted = 'N';
} else(dataRow.opriskYesNo === '') {
    $scope.opRiskCompleted = '';
    $scope.opRiskCompleted = '';
}

【问题讨论】:

标签: javascript angularjs object if-statement conditional


【解决方案1】:

您的最后一个条件代码块中应该有else,没有任何条件。

虽然改进后的版本如下所示,但我想说维护一个具有键值的对象并使用它。

var mappedModel = {'Yes': 'Y', 'No': 'N'};
$scope.opRiskCompleted = mappedModel[dataRow.opriskYesNo] || '';

【讨论】:

  • 感谢它用一小段代码提供的完美解决方案。今天学到了一些新东西,我真的很感激。
  • @aftab 很高兴为您提供帮助.. 谢谢 :)
【解决方案2】:

你为什么不使用 Switch?

switch(dataRow.opriskYesNo){
case "Yes":
    $scope.opRiskCompleted = 'Y';
    break;
case "No":
     $scope.opRiskCompleted = 'N';
    break;
default:
     $scope.opRiskCompleted = '';
    break; }

【讨论】:

    【解决方案3】:

    试试这个:

    if(dataRow.opriskYesNo==='Yes'){
        $scope.opRiskCompleted = 'Y';
    } else if (dataRow.opriskYesNo==='No') {
        $scope.opRiskCompleted = 'N';
    } else {
        $scope.opRiskCompleted = '';
        $scope.opRiskCompleted = '';
    }
    

    【讨论】:

      猜你喜欢
      • 2022-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      相关资源
      最近更新 更多