带有运算符的Javascript / AngularJS数组

时间:2015-12-16 23:42:18

标签: javascript arrays angularjs angularjs-scope

我为AngularJS应用创建价格警报时遇到了一些麻烦。 我希望用户输入警报值和操作员,如果警报只是触发低于或高于x价格。

<ion-radio name="operator" ng-model="statement" value="&gt">Alarm if price is Higher than {{ alarmValue }} <i class="ion-arrow-graph-up-right"></i></ion-radio>
<ion-radio name="operator" ng-model="statement" value="&lt">Alarm if price is Lower than {{ alarmValue }} <i class="ion-arrow-graph-down-left"></i></ion-radio>

问题是AngularJS没有将操作员输入视为真实的操作符,而更像是一串文本。

$scope.alarms = AlarmService.list();                                                                       $scope.saveAlarm = function(market){
$scope.newalarm = {'currency':market,
                    'alert' :$scope.alarmValue,
                      'statement':$scope.statement};
AlarmService.save($scope.newalarm);
console.log($scope.newalarm);

$ scope.statement是运营商。 AlarmValue是触发价格,货币是例如EURUSD

  $scope.multicalculation = function(){
if ($scope.newalarm.alert !== 'undefined') 
  {   //count how many alarms
    for(var i = 0; i < $scope.alarms.length; i++)
  {   //Count how many markets. Example EURUSD, GBPUSD, NZDUSD.
      for(var n = 0; n < $scope.alarmingMarket.length; n++)
  {
    if ($scope.alarms[i].currency == $scope.alarmingMarket[n] && $scope.m_rate < $scope.alarms[i].alert)
        { 
          //execute something (Push notify)
        }
    }
 }

} };

这会产生类似的结果(如果EURUSD == EURUSD&amp;&amp; liveprice&lt; alarmprice

执行pushnotify。

我检查EURUSD == EURUSD的原因..如果我已经投入,我检查我正在监控的市场是否等于警报。如果监控EURUSD并且有一个GBPUSD警报会给用户带来误报。是的,我用多个警报检查多个市场。因为我是棱角分明的新人,所以有点棘手。

我希望有人/我知道我在多数组中保存的运算符的解决方案,我希望将其显示为运算符而不是真正的字符串。如果有人知道如何简化我的代码,那也不错。

0 个答案:

没有答案