0
votes

Comment trier des tableaux différents d'objets à l'intérieur d'un tableau

Comment trier séparément 2 tableaux d'objets à l'intérieur d'un tableau? Une solution avec le lodash nécessaire. Merci.

Exemple de tableau à trier d'ici année: xxx

sortie souhaitée après le tri par année: xxx


4 Réponses :


1
votes

Vous pouvez utiliser mapper () code> sur une matrice de tableaux et renvoyer la matrice de tri dans la fonction de carte.

p>

var arr = [[{year:2010,name:"john",value:30},{year:2009,name:"john",value:40}],[{year:2018,name:"bob",value:40},{year:2015,name:"bob",value:30}]];


const res = arr.map(x => x.slice().sort((a,b) => a.year - b.year));
console.log(res)


5 commentaires

Pourquoi avez-vous utilisé des tranches?


@Amitbaranes trier () modifie le tableau d'origine. Si je n'aurais pas utilisé Slice () Le tableau origiaire aurait changé. Son juste pour faire une copie de la matrice.


Nice, ne savait pas ça :)


@MAHEREERALI: Je ne comprends pas en fait, coz quand je fais console.log (arr) , il me semble que arr compte est resté de la même manière alors que res est trié. Puis-je savoir comment prouver ce que vous dites


@Isaac Je dis que si vous n'utilisez pas SLICE () , alors le tableau d'origine I.E ARR sera modifié. Dans mon code, j'utilise tranche () donc arr est identique. Supprimer SLICE () Vous verrez que la matrice est modifiée et est triée.



0
votes

Vous devez cartographier le tableau et régler le tableau:

p>

const objects = [
[{
year: 2010,
name: "john", 
value: 30
},
{
year: 2009,
name: "john",
value: 40
}],
[{
year: 2018,
name: "bob", 
value: 40
},
{
year: 2015,
name: "bob",
value: 30
}]
] 

const sorted = objects.map(r=>r.sort((a,b)=>a.year - b.year));

console.log(sorted)


0 commentaires

2
votes

OrderBy code> sur chaque SUB Collection devrait suffire

p>

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


0 commentaires

0
votes

Vous pouvez générer une fonction avec _. Partialright () code> et _. Carte () code> à _. SORBY () CODE> Les sous-tableaux :

p>

<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>


0 commentaires