No puedo hacer que la función map() funcione en absoluto con una clase Vector.¿Cómo funciona Vector map() en actionscript 3?
El resultado siempre vuelve nulo - me debe devolver un nuevo vector con los valores devueltos por la función addFive (este ejemplo obviamente no es mi caso de uso real).
La versión de matriz funciona como se esperaba.
¿Alguien ha tenido suerte al obtener el mapa() para trabajar con Vector?
public function test_vector_map():void {
var v1:Vector.<uint> = new <uint>[1,2,3];
trace(v1); // traces 1,2,3
var v2:Vector.<uint> = v1.map(addFive);
trace(v2); // traces null
}
protected function addFive(item:uint, index:int, vector:Vector.<uint>):uint
{
return item+5;
}
public function test_array_map():void {
var v1:Array = [1,2,3];
trace(v1); // traces 1,2,3
var v2:Array = v1.map(addSix);
trace(v2); // traces 7,8,9
}
protected function addSix(item:uint, index:int, array:Array):uint
{
return item+6;
}
Confirmado: El vector v1 no se cambia con la función map(). – Stray
Confirmado: Pasar v1 o la propia clase de prueba como el objeto 'this' (segundo parámetro opcional para usar donde hay una referencia de este tipo en la función) no hace ninguna diferencia. – Stray
Confirmado: Hacer que la función addFive sea local al código que ejecuta el mapa tampoco hace ninguna diferencia. – Stray