【问题标题】:how to create a strict array in ActionScript 3?如何在 ActionScript 3 中创建严格数组?
【发布时间】:2026-01-22 22:10:01
【问题描述】:

all.我使用AMF0进行通信,我想传递一个严格的数组类型,但是我通过许多方法创建的所有数组仍然是ECMAArray。

如何创建严格数组?

【问题讨论】:

  • 像这样: var array:Array = new Array(1,2,3);或 var 数组:数组 = [1,2,3];或 var array:Array = new Array();array['a']=1;array['b']=2;
  • 你的意思是你想要一个 IntArray 还是一个 StringArray?
  • 我不确定。AMF0 有一个名为 Strict Array 的数据类型(严格数组只包含序数索引;但是,在 AMF 0 中,索引可以是密集的或稀疏的。稀疏中的未定义条目索引之间的区域被序列化为未定义。)

标签: arrays actionscript-3 amf strict


【解决方案1】:

使用Vector 类,可从Flash player 10 获得。这既是“严格数组”,也就是它的索引从0 到length-1 连续,而且它也是有类型的,所以你可以制作一个Vector.<int>并且只会有整数。

【讨论】:

  • 我创建了一个这样的向量数组:var v:Vector. = new [0,1,2,];但服务器将其视为对象。
  • 嗯。也许那时您需要更深入地研究 AMF0 字节对象表示。如果那个东西使用自定义的数组存储格式,你应该传递一个 ByteArray 然后,根据研究的格式具体形成一个函数。
  • 好的,我也觉得我应该更深入地研究 AMF0 数据类型。谢谢您的建议。