Показать сообщение отдельно
Старый 29.05.2014, 15:34
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 17  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Тему пролистал по диагонали.
Вот мой вариант (с использованием первоначальных данных)

Код AS3:
public class SkyBoyTest
{
	private static const EMAIL_PROP_NAME:String = "email";
	private static const NAME_PROP_NAME:String = "name";
 
	private var customers:Array = [{"name":"John","email":"john@gmail.com"},{"name":"Andrew","email":"andrew@gmail.com"}];
 
	public function SkyBoyTest()
	{
		var customerNames:Vector.<String> = getCustomersNames();
 
		for each(var name:String in customerNames) {
			var email:String = getCustomerEmailByName(name);
 
			trace("customer. name : " + name + ", email : " + email);
		}
	}
 
	public function getCustomersNames():Vector.<String>
	{
		var names:Vector.<String> = new Vector.<String>();
 
		for each(var customer:Object in customers) {
			if(NAME_PROP_NAME in customer) {
				var name:String = customer[NAME_PROP_NAME];
 
				names.push(name);
			}
		}
 
		return names;
	}
 
	public function getCustomerByName(name:String):Object
	{
		for each(var customer:Object in customers) {
			if(customer[NAME_PROP_NAME] == name) {
				return customer;
			}
		}
 
		return null;
	}
 
	public function getCustomerEmailByName(name:String):String
	{
		var customer:Object = getCustomerByName(name);
		var email:String = customer ? customer[EMAIL_PROP_NAME] : null;
 
		return email;
	}
}
На выходе:
Код:
customer. name : John, email : john@gmail.com
customer. name : Andrew, email : andrew@gmail.com
Хотя лично я распарсил бы этих кастомеров в типизированные объекты.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.