按类别过滤范围是真正的下划线

时间:2015-10-14 15:01:53

标签: angularjs underscore.js

我只需要过滤类别中的帖子,例如desenvolvimento:true。

我尝试使用下划线,但无法将所有帖子都归还给我,只需要包含此过滤器的帖子。

$scope.filter = 'desenvolvimento';
$scope.teste = _.where($scope.posts, 'desenvolvimento');

分辨!!!例如JsBin

关注JSBin: https://jsbin.com/turodayaqe/1/edit?html,output

2 个答案:

答案 0 :(得分:1)

在您的情况下,您需要以下内容:

_.each(obj, function (v1, k1) {
  _.each(v1, function(v2){
    if(typeof v2 === "object") {
      _.each(v2, function(v3){
        console.log(v3);
        if(v3 === value) {
          // do something
        }
      });
    }
  });

});

但我不太确定你想做什么。

答案 1 :(得分:0)

您可以使用Array.prototype.filter或下划线_.filter,只检查属性链的存在以及最终结果(demo):

$scope.filter = 'artigos';

$scope.resolve = $scope.posts.filter(function (item) {
        return !!(item.tax && item.tax.categorias && item.tax.categorias[$scope.filter]); // go over the props chain, if anything is missing it will return false
    });