0
votes

Ajouter des valeurs à l'objet dans JS lors de l'utilisation de GroupBy

J'utilise mapvalues ​​ et groupeby pour grouper et créer des touches lorsque deux éléments ont le même typeid .

Par exemple, les données d'origine sont xxx

et à l'aide de groupby i Groupez les objets avec le type correspondant typeid et omit the typeid de la valeur des `objets comme ... xxx

retour comme prévu ... xxx

Cependant, je voudrais également ajouter un objet pour nom à partir de la valeur nom dans le premier 0 objet. En finissant ainsi avec quelque chose comme .. xxx

Je regarde via la documentation lodash et je ne trouve pas une méthode qui fonctionne. Comment puis-je atteindre cela?


1 commentaires

Lodash est-il nécessaire? Ceci est trivial pour accomplir des méthodes javascript intégrées


3 Réponses :


3
votes

Vous pouvez utiliser Réduire code> pour regrouper les éléments basés sur typeid code>:

p>

{
      "1": [1, "One", [{ "Name": "One" }, { "Name": "One Two" }]],
      "2": [2, "Two", [{ "Name": "Two" }]],
      "3": [3, "Three", [{ "Name": "Three" }, { "Name": "Three Two" }]]
}


1 commentaires

Merci adiga. L'autre a répondu à ma question concernant Groupby , comme indiqué ci-dessus, il s'agit d'une meilleure méthode pour atteindre l'objectif.



1
votes

Ajoutez simplement une autre carte code> avec Splice code>.

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>


0 commentaires

0
votes

Utilisez _. mappe () code> et non _. MAPValues ​​() code>, qui fonctionne également sur des objets et renvoie un tableau. Dans la Callback de la carte, obtenez la clé de groupe à partir du 2nd param, prenez les 1er éléments Nom code> et renvoyer un tableau dans le format demandé:

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>


0 commentaires