我想在我的代码中使用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
};
这工作正常..只是想知道逻辑是否正确。