Изучаю JavaScript в CodeCademy. Надо было выполнить задание по написанию адресной книги.
2 объекта:
"bob" и
"mary" сохранены в массив
contacts. Функция
printPerson выводит в консоль Имя+Фамилию объекта. Функция
list(); - отображает всё содержимое массива. Функция линейного поиска
search выводит
printPerson найденного объекта. Функция
add добавляет объект в массив.
Поиск почему-то не находит те объекты, которые были заданы функцией
add. Хотя через функцию
list всё отображается корректно... Что не так?((
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"*/
var search = function(lastName){
for(i=0;i<contacts.length;i++){
if (lastName === contacts[i].lastName){
printPerson(contacts[i]);
break;
} else {
console.log("no matches");
break;
}
}
};
var add = function(firstName,lastName,phoneNumber,email){
contacts[contacts.length] = {
firstName: firstName,
lastName: lastName,
phoneNumber: phoneNumber,
email: email
};
};
add("Evs","Evsign","8234234234","evsign@live.ru");
list();
search("Evsign");
console.log(contacts[2]);