//------------------------------------------------------------------------------------------------------------------ // YOUR CODE: Create your Zoo "object literal" and Animal "constructor" and "prototypes" here. //------------------------------------------------------------------------------------------------------------------ function Animal(species, legs) { this.species = species; this.legs = legs; this.name = species; } var Zoo = {} Zoo.init = function(animals) { this.animals = animals; } Zoo.bipeds = function() { var bipeds = [] for(var i = 0; i < this.animals.length; i++) { var animal = this.animals[i]; if (animal.legs == 2) { bipeds.push(animal); } } return bipeds } //------------------------------------------------------------------------------------------------------------------ // DRIVER CODE: Do **NOT** change anything below this point. Your task is to implement code above to make this work. //------------------------------------------------------------------------------------------------------------------ function assert(test, message) { if (!test) { throw "ERROR: " + message; } return true; } var animals = [ new Animal("Human", 2), new Animal("Monkey", 2), new Animal("Kangaroo", 2), new Animal("Horse", 4), new Animal("Cow", 4), new Animal("Centipede", 100) ]; Zoo.init(animals); assert( Zoo.bipeds().length === 3, "the Zoo should have 3 bipeds" ); assert( Zoo.quadrupeds().length === 2, "the Zoo should have 2 bipeds" ); assert( animals[0].identify() === "I am a Human with 2 legs.", "humans have 2 legs" ); assert( animals[2].name === "Kangaroo", "expected 'Kangaroo'" ); assert( animals[0].identify === animals[5].identify, "only one implementation of the identify() function should exist" );