J'ai un objet qui contient un tableau de structures, le code qui le génère boucle sur une requête, prend différentes valeurs de chaque ligne de la requête et remplit une structure, quand la ligne est terminée il ajoute à un tableau et le processus recommence:coldfusion trouver une structure dans un tableau
<cfscript>
variables.x = 1;
variables.aArray = [];
// loop over my query
while(variables.x lte variables.qQuery.recordcount){
variables.stStruct = {};
variables.stStruct.nID = variables.qQuery.id[variables.x];
variables.stStruct.sText = variables.qQuery.text[variables.x];
//etc...
arrayAppend(variables.aArray,variables.stStruct);
variables.x++;
}
variables.oObject.setArray(variables.aArray);
</cfscript>
plus tard dans mon code, je veux être en mesure de tirer les détails sur les éléments de ce tableau avec seulement les JNV à titre indicatif. Je ne connais pas la position du tableau de ce nID, ce qui signifie utiliser une méthode convulatoire pour essayer de le trouver.
J'ai eu l'idée de créer une structure de positions à côté de lui en modifiant le code ci-dessus avec.
<cfscript>
variables.x = 1;
variables.aArray = [];
variables.stTracker = {};
while...yadda
variables.stStruct = {};
yadda yadda
structInsert(variables.stTracker,"variables.qQuery.id[variables.x]","variables.x");
variables.x++;
while end
variables.oObject.setArray(variables.aArray);
variables.oObject.setTracker(variables.stTracker);
</cfscript>
Ce qui signifierait alors que je pouvais faire quelque chose comme variables.nPosition = structFindKey(variables.oObject.getTracker(),'88')[1].value;
. Cela semble toujours assez inélégant et je me demande s'il me manque quelque chose qui rend cela beaucoup plus facile que ce que je fais.
Je serais très heureux s'il y avait une solution utilisant Java pour résoudre ce problème.
L'ordre dans lequel les éléments sont ajoutés à la question du tableau? – AlexP
Non, mais pour le moment ils vont dans le même sens que je l'ai, mais l'ordre de la requête sort. – Jarede