Entradas con la etiqueta ‘matriz’

AS3 - Calcular el Valor Mínimo de un Array Numérico

Publicado por Iván Gajate el 8 de Abril de 2009 en AS3, Flash, Tutoriales | 2 comentarios »

La compañera lógica de max es min ;)

// Devuelve el valor minimo de un array numerico
function min(array:Array):Number{
	var minVal:Number = array[0];
	for each(var item:Number in array){
		minVal = (item<minVal) ? item : minVal;
	}
	return minVal;
}

var miArray:Array = [10, 4, 35, -76, 2];
trace(min(miArray));  // Devuelve -76

AS3 - Sumar elementos de un array

Publicado por Iván Gajate el 28 de Noviembre de 2008 en AS3, Flash, Tutoriales | No hay comentarios »

Una función muy útil para sumar los elementos de un array numérico:

// Devuelve la suma de los elementos de un array numerico
function sum(array:Array, ini:int=0, fin:int=-1):Number{
	fin = (fin==-1) ? array.length : fin;
	var suma:Number=0;
	for (var i:uint = ini; i<fin ; i++){
		if(typeof(array[i]) == "number"){
	    		suma += array[i];
		}
	}
	return suma;
}

Para usarlo se le pasa un array y opcionalmente un índice de principio y otro de fin (con base cero, el primer elemento es el 0 y el último array.length). Si no se proporcionan esos valores devuelve la suma de todo el array:

var valores:Array = [2, 3, 4];

trace(sum(valores));
// Devuelve 9 (2+3+4)

trace(sum(valores, 1));
// Devuelve 7 (3+4)

trace(sum(valores, 0, 2));
// Devuelve 5 (2+3)

AS3 - Calcular del valor máximo de un array numérico

Publicado por Iván Gajate el 27 de Noviembre de 2008 en AS3, Flash, Tutoriales | 2 comentarios »

Lo típico, tienes un array de números, y quieres saber el valor máximo. Extrañamente no hay ningún método en los Arrays de AS3 para hacerlo ¿? y con un sort a veces se le pira la pinza y no lo hace bien. Además, se supone que es mas costoso de rendimiento.

// Devuelve el valor maximo de un array numerico
function max(array:Array):Number{
	var maxVal:Number = 0;
	for each(var item:Number in array){
		maxVal=(item>maxVal) ? item : maxVal;
	}
	return maxVal;
}

var miArray:Array = [1, 4, 35, -76, 2];
trace(max(miArray));  // Devuelve 35