5. Finding that Special Someone


#1

https://www.codecademy.com/courses/building-an-address-book/0/5?curriculum_id=506324b3a7dffd00020bf661#

Hi,

Can someone please tell me what is wrong with my code?

When I am trying to run it I got the message "Oops, try again. It looks like your search function didn't log "Bob Jones" to the console. Did you remember to call search after you defined it?" and error "TypeError: Cannot read property 'lastName' of undefined".

I have already been through similar posts here, and still cannot find what I am missing;

Thank you,

var bob = {
firstName: "Bob",
lastName: "Jones",
phoneNumber: "(650) 777-7777",
email: "bob.jones@example.com"
};

var mary = {
firstName: "Mary",
lastName: "Johnson",
phoneNumber: "(650) 888-8888",
email: "mary.johnson@example.com"
};

var contacts = [bob, mary];

function printPerson(person) {
console.log(person.firstName + " " + person.lastName);
}

function list() {
var contactsLength = contacts.length;
for (var i = 0; i < contactsLength; i++) {
printPerson(contacts[i]);
}
}

/*Create a search function then call it passing "Jones"*/

function search(lastName) {
var contactsLength= contacts.length;
for (var i=0; i < contactsLength; i++); {
if (lastName == contacts[i].lastName); {
printPerson(contacts[i]);
}
}
};

search("Jones");

`


#2

for (var i=0; i < contactsLength; i++); {
        if (lastName == contacts[i].lastName); {
            printPerson(contacts[i]); 
        }      
    }

The semicolons after the for-loop and the if conditions are the problem. Here is a longer explanation:


#3

What Haxor meant (simpler) was that to see if things are equal, you have to use 3 signs (===) and that you cannot have a semicolon before a curly brace.


#4

@haxor789 and @vhorus- thank you Guys for your help;


#5

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.