[英]insertAt and removeAt vector methods missing from cs4 but present in documentation
我似乎在使用矢量方法 removeAt 和 insertAt 时遇到了一些麻烦,它们都出现在 as3 的文档中:
“ https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Vector.html#insertAt() ”
然而在 adobe flash cs4 中,它们是未定义的并且会引发错误。 cs4 没有这些方法还是文档很差?
好吧,除了升级到最新版本的 Flash Player 和 SDK 之外,还有一个选择。 这不是一个更好的选择,不是很优雅,但更简单。 除非您正在运行一些庞大的数据集,否则VPlus.insertAt(...)实现的性能也不是问题。
执行:
package
{
public class VPlus
{
static public function deleteAt(V:*, index:int):void
{
// The method cuts a portion of Vector and returns it.
// We need just the "cut" part, yet it suffices.
V.splice(index, 1);
}
static public function insertAt(V:*, index:int, element:*):void
{
// Fix for from-the-end-and-backwards indexing.
if (index < 0)
{
index = V.length - index;
}
// Add one more element to the end of the given Vector.
V.push(null);
// Shift the Vector's elements from index and on.
for (var i:int = V.length - 2; i >= index; i--)
{
V[i+1] = V[i];
}
// Put the new element to its designated place.
V[index] = element;
}
}
}
用法:
// myVec.deleteAt(10);
VPlus.deleteAt(myVec, 10);
// myVec.insertAt(15, "Hello World!");
VPlus.insertAt(myVec, 15, "Hello World!");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.