Tableau d'objets qui change d'order
Yo !
J'espère tout d'abord que vous allez bien !
Mon problème est simple je remplis mon tableau, je fais un console.log dans la boucle, le tableau a les valeurs correspondantes mais lorsque je fais un console.log 2 lignes plus bas de manière aléatoire celui n'a pas le même ordre.
J'ai déjà essayé pas mal de trick, tel que le .sort(), mais rien n'y fait, autant sur 100 refresh l'ordre est correct mais de manière aléatoire celui ci par moment change d'ordre.
Je suis sous Laravel, requete ajax, api Mapbox.
Le code sera plus explicite..
Le JS
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
$.each(data.intervention,(index,inter)=> {
console.log(inter);
let eventColor = getColorPlanning(inter.status);
coordsIntervention.push({
nom :inter.login,
coordonnee:inter.adresse_site+", "+inter.cp_site+" "+inter.ville_site,
nom_site:inter.adresse_site+", "+inter.cp_site+" "+inter.ville_site,
date:inter.planning_date_begin
});
events.push({
id:inter.id,
title: inter.site+'\n'+inter.adresse_site+'\n'+inter.cp_site+' '+inter.ville_site,
start: inter.planning_date_begin,
end: inter.end,
backgroundColor: eventColor,
resourceId: inter.login,
});
});
coordsIntervention.forEach(function(v) {
$.ajax({
method:"get",
url : `https://api.mapbox.com/geocoding/v5/mapbox.places/${v.coordonnee}.json?country=FR&access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxx`,
success:(data)=>{
let date = v.date.split('T');
console.log('date ' + date[1]);
coord= {nom: v.nom, coordonnee: [data.features[0].center[0],data.features[0].center[1]],nom_site: v.nom_site,date:date[1]};
coords.push(coord);
}
});
/*là j'ai le bon ordre */
console.log('test coord : ' +coords)
console.log(v.coordonnee+" le "+v.date);
});
/*ici de manière aléatoire l'ordre change..*/
console.log(coords); |
Je tiens à préciser que lors la récup de mon json via le controller je recup bien les données par ->orderBy('planning_date_begin','asc') j'ai mis asc même si c'est natif
Toute réponse est la bienvenue !
Par avance merci de m'aiguiller !