2014-05-11 2 views
0

En Objective-C, si j'ai un tableau d'objets et chaque objet a une clé de id comme ceci:valueForKey: dans Node.JS

NSArray *array = @[@{@"id":@(1), @"name":@"Bob"}, @{@"id":@(2), @"name":@"Frank"}, @{@"id":@(3), @"name":@"Joe"}]; 

je pourrais appeler [array valueForKey:@"id"] et obtenir un tableau de juste la ids.

Comment puis-je faire cela dans Node/Javascript? Si je mets mon tableau javascript comme ceci:

var array = [{"id":1, "name":"Bob"}, {"id":2, "name":"Frank"}, {"id":3, "name":"Joe"}]; 

Je voudrais être en mesure de le faire:

var idsArray = array.valueForKey("id"); 

Comment dois-je aller sur la réalisation de cela?

Merci!

+0

http://stackoverflow.com/questions/7364150/find -object-by-id-in-array-of-javascript-objects –

+0

@MattWay, ce lien décrit la recherche d'un objet par ID, sans obtenir une liste de tous les ID. –

+1

@BuckDoyle True. Je ne l'ai pas supprimé cependant, car il est assez similaire, et contient beaucoup de bonnes réponses qui mériteraient d'être lues. –

Répondre

3

Vous pouvez utiliser map pour que:

array.map(function (obj) { return obj.id; }); 

ou si vous avez underscore dans votre projet, vous pouvez utiliser pluck:

_.pluck(array, 'id'); 
+0

Merci! J'ai décidé de passer à Underscore et j'ai supprimé beaucoup de code dans mon projet :) –