Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2016, 23:16
Новичок на форуме
Отправить личное сообщение для АртемZDAN_UA Посмотреть профиль Найти все сообщения от АртемZDAN_UA
 
Регистрация: 19.03.2016
Сообщений: 3

Разработайте функцию-конструктор,
Разработайте функцию-конструктор, которая будет создавать объект Human(человек) создайте массив объектов и реализуйте функцию, которая будет сортировать элементы массива по значению свойства Age по возрастанию или по убыванию.



<script>
function Human()
{
this.name = name;
this.sex = sex;
this.lang = lang;
this.age = age;

Human.prototype.eldest = function ()
{
var max = 0;
var maxAge = "";
for (var age in Human)
{
if(max <Human.age)
{
max = Human.age;
maxAge = age;
alert ( maxAge)
}
}
}

var Ken = new Human(Ken, male, eng, 28);
var Pol = new Human(Pol, male, eng, 22);
var July = new Human(July, male, uk, 25);
var Bill = new Human(Bill, male, rus, 36);


</script>

Вот чтото такое придумал, но не работает???
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2016, 03:42
Интересующийся
Отправить личное сообщение для dismantled Посмотреть профиль Найти все сообщения от dismantled
 
Регистрация: 11.02.2016
Сообщений: 18

function Human(name, sex, lang, age) {
  this.name = name;
  this.sex = sex;
  this.lang = lang;
  this.age = age;
}

Human.prototype.eldest = function(humans) {
	var maxAge = 0;
	humans.forEach(function(human) {
  	if (human.age > maxAge)
    	maxAge = human.age;
  });
	alert(maxAge);
};

var human = new Human();
var humans = [];
humans.push(new Human("Ken", "male", "eng", 28));
humans.push(new Human("Pol", "male", "eng", 22));
humans.push(new Human("July", "female", "uk", 25));
humans.push(new Human("Bill", "male", "rus", 36));
  
human.eldest(humans);


Посмотреть в действии можно тут: https://jsfiddle.net/8u63xku6/

Последний раз редактировалось dismantled, 20.03.2016 в 03:51.
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2016, 11:49
Новичок на форуме
Отправить личное сообщение для АртемZDAN_UA Посмотреть профиль Найти все сообщения от АртемZDAN_UA
 
Регистрация: 19.03.2016
Сообщений: 3

Сообщение от Rise Посмотреть сообщение
АртемZDAN_UA,
function Human(name, sex, lang, age) {
	this.name = name;
	this.sex  = sex;
	this.lang = lang;
	this.age  = age;
}

var Ken  = new Human('Ken',  'male', 'eng', 28);
var Pol  = new Human('Pol',  'male', 'eng', 22);
var July = new Human('July', 'male', 'uk',  25);
var Bill = new Human('Bill', 'male', 'rus', 36);

var People = [Ken, Pol, July, Bill];

function SortByAge(array, order) { // order = 'asc' || 'desc'
	// ...
	// code
	// ...
}

SortByAge(People, 'asc');


Спасибо, но я так и не понял до конца... Я только учусь, вот и туплю))
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2016, 16:16
Новичок на форуме
Отправить личное сообщение для n_js Посмотреть профиль Найти все сообщения от n_js
 
Регистрация: 30.11.2016
Сообщений: 1

Должно получится что то в этом роде.
function Human(name, sex, lang, age) {
            this.name = name;
            this.sex = sex;
            this.lang = lang;
            this.age = age;

        }

        var Ken = new Human('Ken', 'male', 'eng', 28);
        var Pol = new Human('Pol', 'male', 'eng', 22);
        var Maria = new Human('Maria', 'Female', 'rus', 74);
        var July = new Human('July', 'male', 'uk', 25);
        var Bill = new Human('Bill', 'male', 'rus', 36);

        var People = [Ken, Pol, July, Bill, Maria];
        
        for (var i = 0; i < People.length;i++) {
            document.write("Все что находится в массиве: " + People[i].name + " | " + People[i].sex + " | " + People[i].lang + " | " + People[i].age + "<br />");
        }

        function SortByAge(array, order) { // order = 'asc'-по возрастанию || 'desc'-по убыванию
            if (order == "asc") {
                document.write("Находим самого взрослого кандидата!" + "<br />");
                var maxValue = Number.NEGATIVE_INFINITY;
                var maxVname = "";
                for (var i = 0; i < array.length; i++) {
                    if (array[i].age > maxValue) {
                        maxValue = array[i].age;
                        maxVname = array[i].name;
            }
        }
                return document.write("Имя: " + maxVname + "<br />" + " Возраст: " + maxValue);
        } else if (order == "desc") {
                document.write("Находим самого младшего кандидата!" + "<br />");
                var minVelue = Number.POSITIVE_INFINITY;
                var minVname = "";
                for (var i = 0; i < array.length; i++) {
                    if (array[i].age < minVelue) {
                        minVelue = array[i].age;
                        minVname = array[i].name;
        }
        }
                return document.write("Имя: " + minVname + "<br />" + " Возраст: " + minVelue);;
        } else {
                document.write("error!");
        }
        };

        SortByAge(People, 'asc');// order = 'asc' || 'desc'

Ответить с цитированием
  #5 (permalink)  
Старый 30.11.2016, 16:58
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

n_js,
Самое лучшее решение)))
Ответить с цитированием
  #6 (permalink)  
Старый 30.11.2016, 17:37
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Coriolan161,
Сообщение от Coriolan161
n_js,
Самое лучшее решение)))
А плюсик в карму?
Ответить с цитированием
  #7 (permalink)  
Старый 30.11.2016, 18:10
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

Dilettante_Pro,
хех)
Ответить с цитированием
  #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/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать параметры в функцию jQuery AJAX Lion_astana Общие вопросы Javascript 7 21.02.2014 17:25
Расширение для Safari. Как вызвать функцию из popover в global page? housewm Opera, Safari и др. 0 21.12.2013 06:07
Выполнить функцию заранее неизвестную Neokortex jQuery 2 13.02.2012 12:41
проблема с передачей параметров в функцию bartonom Элементы интерфейса 4 19.09.2011 12:41
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32