java - coldfusion 在数组中查找结构

标签 java arrays coldfusion coldfusion-9

我有一个包含结构数组的对象,生成它的代码循环查询,从查询的每一行中获取不同的值并填充一个结构,当该行完成后,它将它附加到一个数组中,然后该过程再次开始:

<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>

稍后在我的代码中,我希望能够仅使用 nID 作为指导来提取有关该数组中项目的详细信息。我不知道该 nID 的数组位置,这意味着要使用一种复杂的方法来尝试找到它。

我想通过更改上面的代码来创建一个位置结构。

<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>

这意味着我可以做类似 variables.nPosition = structFindKey(variables.oObject.getTracker(),'88')[1].value; 的事情。这仍然感觉很不雅,我想知道我是否遗漏了一些使这比我正在做的事情容易得多的东西。

如果有一个使用 java 来解决这个问题的解决方案,我会很高兴。

最佳答案

我建议执行 Query of Queries,而不是从现有查询构建结构数组。 .它将允许您使用 SQL 语句查询内存中现有的结果集。这是假设您需要的所有数据都已在现有查询中可用(听起来像是来自您的问题)。

查询的示例查询是:

<cfquery dbtype="query" name="qoqexample">  
    SELECT id, text, other_columns 
    FROM variables.qQuery 
    WHERE id = <cfqueryparam cfsqltype="cf_sql_integer" value="#nID#">
</cfquery> 

关于java - coldfusion 在数组中查找结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316594/

相关文章:

javascript - 共享主机上的 cftextarea 和自定义工具栏

coldfusion - 更换 Coldfusion 的线轴文件夹

java - 如何从两个绝对路径(或 URL)构造 Java 中的相对路径?

java - java方法中int[]输入正确吗?

java - 在列表中流式传输不同的数组元素

javascript - 3d数组覆盖其他维度的值JS

java - onApplicationEnd - CF 实际上正在关闭吗?

java - 移动元素并打印每个步骤

java - 使用注释指定哪些类/接口(interface)应该生成javadoc?

java - Ant 包 org.junit 不存在