Skip to content

Instantly share code, notes, and snippets.

@kenrett
Forked from dbc-challenges/zoo.js
Last active December 17, 2015 16:19

Revisions

  1. kenrett revised this gist May 23, 2013. 1 changed file with 39 additions and 11 deletions.
    50 changes: 39 additions & 11 deletions zoo.js
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,34 @@
    // YOUR CODE: Create your Zoo "object literal" and Animal "constructor" and "prototypes" here.
    //------------------------------------------------------------------------------------------------------------------

    function Animal(name, num_of_legs) {
    this.name = name
    this.legs = num_of_legs
    }

    Animal.prototype.identify = function() {
    return "I am a " + this.name + " with " + this.legs + " legs.";
    };

    var Zoo = {
    init: function(animals){
    }
    };

    Zoo.bipeds = function(){
    bipeds = [];
    for (i=0; i > animals.length; i++) {
    if (animals[i].legs < 3){
    bipeds.push(animals[i]);
    }
    };
    return bipeds;
    };

    Zop.quadrupeds: function(){

    }



    //------------------------------------------------------------------------------------------------------------------
    @@ -16,28 +44,28 @@ function assert(test, message) {
    }

    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)
    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"
    );
    );
  2. @dbc-challenges dbc-challenges created this gist May 1, 2013.
    43 changes: 43 additions & 0 deletions zoo.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,43 @@
    //------------------------------------------------------------------------------------------------------------------
    // YOUR CODE: Create your Zoo "object literal" and Animal "constructor" and "prototypes" here.
    //------------------------------------------------------------------------------------------------------------------



    //------------------------------------------------------------------------------------------------------------------
    // 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"
    );