Показать сообщение отдельно
Старый 30.12.2008, 16:55
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 7  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
murz, я проверил. у меня медленее.
Код AS3:
function test():void {
 
	const L:uint = 1E6;
 
	var i:uint, t:Number;
 
	var result:Array;
 
	// создаём случайный массив
	var arr:Array = new Array();
	for ( i = 0; i<L; i++ ) {
		arr.push( Math.random() > 0 ? i : null );
	}
 
	// через фильтер
	t = getTimer();
	result = arr.filter( removeEmpty );
	trace( getTimer() - t );
 
	// обычный перебор
	t = getTimer();
	result = new Array();
	for ( i = 0; i<L; i++ ) {
		if ( arr[i] is Number ) {
			result.push( arr[i] );
		}
	}
	trace( getTimer() - t );
 
}
 
function removeEmpty(a:Object, index:int, source:Array):Boolean {
	if ( a is Number ) return true;
	return false;
}
 
test();