2016-04-06 18 views
0

如何获得组{对象}当一个属性与[数组]值为itemSearch, 即时通讯使用_.lodash /下划线如何获得组对象时的属性的值是等于itemSearch

{ 
"tileRecords" : [ 
{ 
"tileName"  : "Fama Brown", 
"tileGroup"  : ["Polished", "Matt", "Rought"], 
"tileDetails" : 
     { 
     "tileSize"   : "60x60", 
     "tileType"   : "Polished" 
     } 
}, 
{ 
"tileName"  : "Fama Nero",  
"tileGroup"  : ["Polished", "Matt", "Rought"], 
"tileDetails" : 
     { 
     "tileSize"   : "60x60", 
     "tileType"   : "Polished" 
     } 
}, 
{ 
"tileName"  : "Dolce Beige", 
"tileGroup"  : ["Italian", "Matt", "Rought"], 
"tileDetails" : 
     { 
     "tileSize"   : "60x60", 
     "tileType"   : "Polished" 
     } 
} 
] 
} 

我如何获得对象tileName:Fama Brown和Fama Nero在tileGroup中使用值为“Polished”的过滤器?

由于该组具有唯一的抛光价值。

回答

0

可以使用angular filter代替lodash这是非常简单的实现, 如果您正在使用NG-重复使用它,请尝试以下,

<div ng-repeat="tile in tiles.tileRecords | pick: tileGroupFilter"> 
    {{ tile.tileName }} 
</div> 

而在你的控制器

$scope.tiles = { 
         "tileRecords" : [ 
          { 
          "tileName"  : "Fama Brown", 
          "tileGroup"  : ["Polished", "Matt", "Rought"], 
          "tileDetails" : 
           { 
            "tileSize"   : "60x60", 
            "tileType"   : "Polished" 
           } 
          }, 
          { 
           "tileName"  : "Fama Nero",  
           "tileGroup"  : ["Polished", "Matt", "Rought"], 
           "tileDetails" : 
            { 
             "tileSize"   : "60x60", 
             "tileType"   : "Polished" 
            } 
          }, 
          { 
           "tileName"  : "Dolce Beige", 
           "tileGroup"  : ["Italian", "Matt", "Rought"], 
           "tileDetails" : 
            { 
             "tileSize"   : "60x60", 
             "tileType"   : "Polished" 
            } 
          } 
         ] 
        }; 


$scope.tileGroupFilter = function(elm) { 
    return (elem.tileGroup.indexOf("Polished") > 0) ; 
} 
+0

什么是挑选:在过滤器?以及它的工作如何?对于这里仍然是新的角度 –

相关问题