J'ai affaire à un tableau d'objets. Chaque objet a deux propriétés, size et count.
var drives = [
{size:"900GB", count:3},
{size:"900GB", count:100},
{size:"1200GB", count:5},
{size:"900GB", count:1}
]
Je n'aime pas que la même taille apparaisse plusieurs fois, et je voudrais consolider toutes les tailles répétées en un seul index de tableau.
D'abord, j'ai le tableau trié par taille. Ensuite, j'ai essayé de faire un for-loop pour gérer les répétitions.
drives.sort(function(obj1, obj2) {
var First = parseInt(obj1.size)
var Second = parseInt(obj2.size)
// Ascending: first size less than the previous
return First - Second;
})
for(var i = 0; i < drives.length-1; i++)
{
if(drives[i].size == drives[i+1].size)
{
drives[i+1].count+=drives[i].count;
//add the count of the first index to the second index's count
drives.splice(i, 1);
//delete the first index
}
}
https://jsbin.com/zayofiqoke/edit?js,console
Le for-loop ne semble pas itérer correctement. Elle ne combine que deux index. Comment puis-je obtenir ce que je cherche ? Merci !