将 jquery $.map 替换为 _.plunk



我想在我的代码中使用lodash

我的代码 :

$scope.annotations = $scope.dashboard.annotations.list;
  var isCheckedCriticalEvent = $.map($scope.annotations, function(obj) {
    if(obj.name === 'Critical') {
      return true;
    }
  });
  var isCheckedCritical = isCheckedCriticalEvent[0];
  var isCheckedMinorEvent = $.map($scope.annotations, function(obj) {
    if(obj.name === 'Minor') {
      return true;
    }
  });
  var isCheckedMinor = isCheckedMinorEvent[0];
  var isCheckedMajorEvent = $.map($scope.annotations, function(obj) {
    if(obj.name === 'Major') {
      return true;
    }
  });
  var isCheckedMajor = isCheckedMajorEvent[0];
  var isCheckedWarningEvent = $.map($scope.annotations, function(obj) {
    if(obj.name === 'Warning') {
      return true;
    }
  });
  var isCheckedWarning = isCheckedWarningEvent[0];
  $scope.annotation = {
    critical : isCheckedCritical,
    warning : isCheckedWarning,
    minor : isCheckedMinor,
    major : isCheckedMajor
  };

我正在匹配对象,然后返回 true。用什么代替$.map我尝试了_.map_.filter没有得到确切的结果。 _.plunk也在那里,但它正在返回数组值。我怎么能使用它。

var First = 0;
var myFun = function(obj, text){ return obj.name === text; }
var isCheckedCriticalEvent = _.filter($scope.annotations, myfun(obj,'Critical'))[First];

但是,如果我没记错的话,如果过滤器返回 0 个元素,这将引发错误。最好检查返回的数组的长度是否> 0。

我做了这样的事情。

正确吗?

我的代码 :

$scope.annotations = $scope.dashboard.annotations.list;
      var isCheckedCritical = false;
      var isCheckedMinor = false;
      var isCheckedMajor = false;
      var isCheckedWarning = false;
      _.map($scope.annotations, function(obj) {
        if(obj.name === 'Warning') {
          isCheckedWarning = true;
        }
        if(obj.name === 'Major') {
          isCheckedMajor = true;
        }
        if(obj.name === 'Minor') {
          isCheckedMinor = true;
        }
        if(obj.name === 'Critical') {
          isCheckedCritical = true;
        }
      });
      $scope.annotation = {
        critical : isCheckedCritical,
        warning : isCheckedWarning,
        minor : isCheckedMinor,
        major : isCheckedMajor
      };

这工作正常..只是想知道逻辑是否正确。

最新更新