Показать сообщение отдельно
  #8 (permalink)  
Старый 01.12.2016, 01:18
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

n_js,
Слишком мудрено...
/*
   Функция-конструктор персоны
   * @{string} name - имя
   * @{number} age - возраст
  */
  function Human(name, age) {
    this.name = name;
    this.age = age;
  };
 var Ken = new Human('Ken', 28);
 var Pol = new Human('Pol', 22);
 var Maria = new Human('maria', 74);
 var July = new Human('july', 25);
 var Bill = new Human('Bill', 36);
 //массив всех персон
 var peoples = [Ken, Pol, July, Bill, Maria];
 /*
  Функция сортировки по возрасту
  * @{object} mas - массив персон
 */
 function sortByAge(mas) {
 		//Проверка параметра на массив
		if (mas instanceof Array) { 
    	var sortedData = mas.sort(func)
    	return sortedData;
    } else console.log('Error');  
 
		function func(a, b) {
    	return a.age - b.age;
    };
 };
 /*
  * Функция сортировки по имени
  * @{object} mas - массив персон
 */
 function sortByName(mas) {
 		//Проверка параметра на массив
		if (mas instanceof Array) { 
    	var sortedData = mas.sort(func)
    	return sortedData;
    } else console.log('Error'); 
    function func(a, b) {
      return a.name.toUpperCase() > b.name.toUpperCase();
    };
 };
/*
	* Функция рендера данных
  * @{object} mas - массив объектов
  * @{string} key - item объекта
*/
 function render(mas, item) {
 	mas.forEach(show);
  function show(el, i) {
  	document.body.textContent +=' '+(el[item]);
  };
 };
 
 render(sortByName(peoples), 'name');
 render(sortByAge(peoples), 'age');

https://jsfiddle.net/xe0t8f4v/3/
Ответить с цитированием