javascript objects as parameters not returning correct object -
i working on codecademy javascript course, , in 1 have return older age of 2 people. reason returning younger age, cant figure out life of me.
// our person constructor function person (name, age) { this.name = name; this.age = age; } // can make function takes persons arguments // 1 computes difference in ages between 2 people var agedifference = function(person1, person2){ return person1.age - person2.age; } // make new function, olderage, return age of // older of 2 people function olderage(){ if(alice > billy){ return alice.age; } else{ return billy.age; } } // let's bring alice , billy test our new function var alice = new person("alice", 30); var billy = new person("billy", 25); console.log("the older person " + olderage(alice, billy));
your function compares ages comparing objects not age
parameter of object. function:
function olderage() { if (alice > billy) { return alice.age; } else { return billy.age; } }
should be:
function olderage(a, b) { if (a.age > a.age) { return a.age; } else { return b.age; } }
putting together
i suggest changing code -- fix olderage
:
// our person constructor function person (name, age) { this.name = name; this.age = age; } // can make function takes persons arguments // 1 computes difference in ages between 2 people var agedifference = function(person1, person2){ return person1.age - person2.age; } // make new function, olderage, return age of // older of 2 people function olderage(a, b) { if (a.age > b.age){ return a.age; } else { return b.age; } } // let's bring alice , billy test our new function var alice = new person("alice", 30); var billy = new person("billy", 25); console.log("the older person " + olderage(alice, billy));
jsfiddle: http://jsfiddle.net/5ae24v92/2/
Comments
Post a Comment