Well, there's an option other then upgrading to newest version of Flash Player and SDK.
(嗯,除了升级到Flash Player和SDK的最新版本外,还有其他选择。)
It is not a better option, not very elegant, yet simpler. (这不是一个更好的选择,不是很优雅,但是更简单。)
Unless you are running some huge datasets, performance of the VPlus.insertAt(...) implementation is not an issue too. (除非您正在运行一些庞大的数据集,否则VPlus.insertAt(...)实现的性能也不是问题。)
Implementation:
(实现方式:)
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;
}
}
}
Usage:
(用法:)
// myVec.deleteAt(10);
VPlus.deleteAt(myVec, 10);
// myVec.insertAt(15, "Hello World!");
VPlus.insertAt(myVec, 15, "Hello World!");
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…