2009-08-06 44 views
2

我想要使用我的调试功能(需要一个字符串)打印出一个arraycollection的内容。有人知道怎么做吗?我希望这会很容易,但似乎无法找到办法......我在很多时候都印上了“对象”一词。flex获取arraycollection的内容为字符串

+0

您可以添加您正在使用被传递给它的功能,以及对象的来源是什么? – 2009-08-06 17:32:52

+0

嘿Dan M.我尝试了一堆功能,但没有一个真的可以工作。用于创建ArrayCollection的对象是来自HTTPService的XML节点。我现在开始工作了。谢谢! – thomas 2009-08-06 19:06:23

回答

0

下面的方法应该得到你所需要的:

public static function arrayCollectionToString(arr:ArrayCollection):String 
{ 
    var toRet:String = "["; 
    for each(var obj:Object in arr) { 
     toRet += obj.toString() + ", "; 
    } 
    toRet += "]"; 
    return toRet; 
} 

如果你坚持这样在同一个班作为调试方法,然后你可以使用它,如下所示:

SomeDebugClass.dbgMessage(SomeDebugClass.arrayCollectionToString(myArrayCollection)); 
+1

这将在列表末尾有一个尾随逗号。使用以下来自sharvey的答案。 – Edyn 2013-09-05 22:41:12

11

它有很多清洁做:

var str:String = '['+myArrayCol.source.join(', ')+']'; 

的ArrayCollection源属性也是数组,所以所有的通常的功能是可用的。

0

默认是媒体链接昏迷分离

array.toString() 
+0

这是如果您访问ArrayCollection对象上的'source'属性(它是一个Array)。 – 2013-02-21 19:42:15

0

您可以使用

ObjectUtil.toString(arrayCollection); 
相关问题