用_.plunk替换jquery $ .map

时间:2015-10-19 10:40:26

标签: jquery lodash

我想在我的代码中使用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也存在,但它返回数组值。我该怎么用呢。

2 个答案:

答案 0 :(得分:0)

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

但是如果我没有弄错的话,如果过滤器返回0个元素,则会抛出错误。最好检查返回的数组是否有长度> 0

答案 1 :(得分:0)

我做了类似的事情..

这是对的吗?

我的代码:

http://myurl.com/my%20photo.png

这很好。只是想知道逻辑是否正确。