Comment utilisez-vous la méthode chain de underscore pour renvoyer le premier élément dans un tableau multidimensionnel?
Dire que j'ai un tableau de tableaux, et je veux retourner le premier élément de chaque tableau dans le tableau:
array = [[["028A","028B","028C","028D","028E"],
["028F","0290","0291","0292","0293"],
["0294","0295","0296","0297","0298"],
["0299","029A","029B","029C","029D"],
["029E","029F","02A0","02A1","02A2"]],
[["02A3","02A4"],
["02A5", "02A6"]];
Je sais que je peux faire quelque chose comme ceci:
var firsts = [];
_.each(array, function(item){
_.each(item, function(thisitem){
firsts.push(_.first(thisitem));
});
});
mais si je veux le faire avec un trait de soulignement est _.chain()
méthode? Juste l'apprentissage de soulignement, et jusqu'à présent, semble très utile.
source d'informationauteur Chris Matta
Vous devez vous connecter pour publier un commentaire.
Vous pourriez le faire avec
aplatir l'
etmap
ainsi:Démo: http://jsfiddle.net/ambiguous/cm3CJ/
Vous utilisez
flatten(true)
pour convertir votre tableau de tableaux de tableaux dans un tableau de tableaux, puis lemap
pèle le premier élément de chaque intérieur tableau.Si vous voulez quelque chose de plus court que le
map
vous pouvez utiliserplumer
de sortir le premier élément de l'intérieur des tableaux:Démo: http://jsfiddle.net/ambiguous/pM9Hq/
_.plumer
est juste unmap
appel de toute façon:Celui-ci semble beaucoup plus comme la
.map(&:first)
que vous souhaitez utiliser en Ruby, alors il serait peut-être plus familier à certaines personnes et plus concise, une fois que vous êtes habitué àpluck
. Si vous voulez vraiment quelque chose de Rubyish, vous pouvez utiliser un non-fonction anonyme avecmap
: