[Homework]Задача 1 от домашно асоциативни масиви (Group People)
Здравейте колеги,
Може ли някой да сподели решение на въпросната задача?
Мерси!
Здравейте колеги,
Може ли някой да сподели решение на въпросната задача?
Мерси!
Не претендирам да е еталон.
Ето и моето решение на задачата
Мисля, че е по-добре вместо
if (typeof(x[key]) === "undefined")
да напишеш
if (!x[key])
Подадената задача (Group People) във файла за домашна, има формална грешка.
Изхода е с различни данни от подаваните.
Това е просто сигнализация да го оправят лекторите, за да не се бъркат учениците.
Не ми стигна времето за оформяне на резултата, но крайното решение ми хареса и реших да го споделя в тази тема :)
function Person (firstName, lastName, age) { this.firstName = firstName this.lastName = lastName this.age = age this.toString = function () { return this.firstName + ' ' + this.lastName + 'age(' + this.age + ')' } } var people = [ new Person('Scott', 'Guthrie', 38), new Person('Scott', 'Johns', 36), new Person('Scott', 'Hanselman', 39), new Person('Jesse', 'Liberty', 57), new Person('Jon', 'Skeet', 38) ] function groupBy (criteria) { var selection = [] for (var i in people) { if (!selection.hasOwnProperty('Group ' + people[i][criteria])) { selection['Group ' + people[i][criteria]] = [] } selection['Group ' + people[i][criteria]].push(people[i].toString()) } for (i in selection) { console.log(i + ' : [' + selection[i].join(', ') + ']') } } groupBy('firstName')
Супер е решението, мерси :)