簡體   English   中英

Actionscript 3數組

[英]Actionscript 3 Array

我有一個已經構建並從javascript傳遞到actionscript的數組。 雖然調試我可以看到對象很好,但在實際使用數組時,我無法訪問這些值。 此外,當鼠標懸停在'keywords [i]'上時,工具提示會彈出正確的值。

以下代碼片段:

//build where clause
var whereClause:String = "Keyword IN (";
for(var i:int=0;i<keywords.length;i++) {
    whereClause += "'" + keywords[i] + "', ";
}

whereClause = whereClause.substr(0, whereClause.length-2);
whereClause +=") ";

導致whereClause var為“Keyword IN('undefined','undefined','undefined','undefined','undefined','undefined')”

我可以看到數組不是'普通'的actionscript數組,在監視窗口中它給它一個類型'__HTMLScriptArray',所以這顯然是問題的來源。 知道如何獲取__HTMLScriptArray對象內的數據嗎?

如果您的關鍵字數組有效,那么您應該使用連接構建where條件:

var whereClause : String = "Keyword IN ('";
whereClause += keywords.join("', '");
whereClause += "')";

在那種情況下你可以跳過你的whereClause = whereClause.substr(0, whereClause.length-2);

您可以嘗試使用for-in循環。 就像是:

for (var key:String in keywords) 
{
    trace(key, ':', keywords[key]); // trace for debugging, to see key and value
    whereClause += "'" + keywords[key] + "', ";
}

看看是否有效。

我從未見過這個問題,這是普通的Flash還是Flex? (雖然兩者都沒有遭受過這種情況),我猜你也在使用ExternalInterface。 無論如何,不​​是做一個正常的for循環,而是使用a for each。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM