如何从特定的键获取值

问题描述:

var keys = ['name','age','gender'];

var input = {"document":
             {"people":[
                {"name":["Harry Potter"],"age":["18"],"gender":["Male"]},
                {"name":["hermione granger"],"age":["18"],"gender":["Female"]},
             ]}
            }

如何从特定键获取值.例如{Harry Potter, 18, Male}?

How to get values from specific key. Example {Harry Potter, 18, Male}?

您可以使用 选择 提取您感兴趣的属性:

You could use pick to extract the properties that you're interested in:

var people = _.map(input.document.people, function(person){
    return _.flatten( _.values(_.pick(person, keys)));
});

angular.module('MyModule', [])

.controller('MyController', function($scope) {

  var keys = ['name','age','gender'];

  var input = {"document":
             {"people":[
                {"name":["Harry Potter"],"age":["18"],"gender":["Male"]},
                {"name":["hermione granger"],"age":["18"],"gender":["Female"]}
             ]}
            };
               
  var people = _.map(input.document.people, function(person){
    return _.flatten( _.values(_.pick(person, keys)));
  });
  
  $scope.people = people;
});

<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app='MyModule' ng-controller='MyController'>
  <p ng-repeat='person in people'>{{person | json}}</p>
</div>