Je suis confronté à un problème lors de la collecte d'un tableau de l'objet de manière dynamique dans JavaScript. J'ai ces échantillons de données comme ci-dessous:
Je dois remplir les tableaux suivants avec les données ci-dessus: P>
var resultCount = results.features.length;
for (var i = 0; i < resultCount; i++) {
var data = results.features[i].attributes;
parisObj.value = data.Paris;
londonObj.value = data.London;
torontoObj.value = data.Toronto;
if (data.Ind_ID === 101) {
c1_Arr.push(parisObj);
c1_Arr.push(londonObj);
c1_Arr.push(torontoObj);
}
}
console.log(c1_Arr);
3 Réponses :
Le problème est parce que même si vous avez la condition si vous y êtes, mais vous mettez à jour la valeur des objets dans la boucle et que vous avez déjà poussé les objets, vous avez toujours la référence dans les objets principaux. Ils sont écrasés. P>
Créer les 3 objets (Torontoobj, etc.) à l'intérieur de la boucle. p>
Quelque chose comme ça var résultatcount = résultats.Features.length; pour (var i = 0; i
Référence est mise à jour dans la deuxième itération (où ind_id strong> est 102) Vous devez plutôt faire P> var resultCount = results.features.length;
for (var i = 0; i < resultCount; i++) {
var data = results.features[i].attributes;
if (data.Ind_ID === 101) {
parisObj.value = data.Paris;
londonObj.value = data.London;
torontoObj.value = data.Toronto;
c1_Arr.push(parisObj);
c1_Arr.push(londonObj);
c1_Arr.push(torontoObj);
}
}
console.log(c1_Arr);
Vos valeurs d'objet sont mises à jour, même après avoir été définie dans le Vous pouvez probablement faire l'une des 2 suivantes Choses: P> extraire les valeurs de Comme ceci: p> extraire l'élément de tableau qui correspond uniquement à votre condition, en d'autres termes si code> boucle, simplement parce que vous ne le limitez pas à être mis à jour.
Paris code>, london code> et toronto code> champs de DATA code> uniquement si le ind
_ID code> est 101 code>. P>
filtre code> . p>
Le second est faux comme son itérant la même chose encore et encore. Vous pouvez dépendre la boucle et faire le code intérieur directement. Mais alors il y a une chance si l'identifiant n'existe pas.
oh ouais .. Merci de le pointer de la pointe.
Veuillez aider les répondements potentiels en publiant un exemple de ce que vous attendez du résultat de votre fonction à ressembler. Affichez également les valeurs réelles des données d'entrée, pas seulement une capture d'écran, elle peut donc être copiée dans un extrait de code.