Показать сообщение отдельно
  #8 (permalink)  
Старый 06.05.2017, 20:25
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,790

var a={
		first:{
			first:'root->first->second'
		},
		second:'root->second'
	},
	property_name='first.first';

function get_object_property(object,property){
	if(typeof object!=='object')
		throw new Error('Invalid input data');
	
	property=property.split('.');
	for(var i in property){
		if(!property.hasOwnProperty(i))
			continue;
		
		var pr_name=property[i];
		if(object[pr_name])
			object=object[pr_name];
		else
			return null;
	};
	
	return object;
}

alert(get_object_property(a,property_name));

Последний раз редактировалось Nexus, 06.05.2017 в 20:28.
Ответить с цитированием