Codecademyで JavaScript コースに取り組んでいます。この演習ではadd
、人を配列に追加する関数を作成し、contacts
プロンプトを使用してユーザーから情報を取得し、その後関数を呼び出して配列list
内のすべての人をcontacts
コンソールに出力することになっています。 .
以下のコードを実行すると、contacts
配列内の既存の 2 人の人物が一覧表示されます"undefined undefined"
が、プロンプトで追加しようとした人物が出力されます。contacts
しかし、の長さを印刷すると、 と表示さ3
れるので、人が追加されました。
どんな助けでも大歓迎です。
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 = new Array(bob, mary);
function printPerson(person) {
console.log(person.firstName + " " + person.lastName);
}
function list() {
var length = contacts.length;
var i;
for (i = 0; i < length; i++) {
printPerson(contacts[i]);
}
}
/*Create a search function
then call it passing "Jones"*/
var search = function(lastName) {
var number = contacts.length;
for (i = 0; i < number; i++) {
if (contacts[i].lastName === lastName) {
printPerson(contacts[i]);
}
}
};
var add = function(firstName, lastName, email, telephone) {
contacts[contacts.length] = new Object(firstName, lastName, email, telephone);
};
var firstName = prompt("What is your first name");
var lastName = prompt("What is your last name");
var email = prompt("What is your email");
var telephone = prompt("What is your phone number");
add(firstName, lastName, email, telephone);
list();