【发布时间】:2014-10-03 03:12:31
【问题描述】:
我正在处理我的一个项目,我有这个联系人列表contacts,这是一个包含objects 的array。
问题是我的函数searchPerson 总是返回搜索到的人不存在的条件的响应。
一旦我删除条件并再次调用该函数,它就会返回搜索的内容。
我不明白为什么在联系人列表中存在该人时它总是返回no such person found!!谁能帮我理解为什么会这样?
这是我的代码。
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"
};
//Here we populate ou array.
var contacts = [bob, mary];
function printPerson(person) {
console.log(person.firstName + " " + person.lastName);
}
function searchPerson (lastName) {
var contactsLength = contacts.length;
for(var i = 0; i < contactsLength; i++){
//set a condition that we only retrieve the last name if it already exists in out contact list
if(lastName !== contacts[i].lastName){
return console.log("No such person found!");
} else {
printPerson(contacts[i]);
}
}
}
【问题讨论】:
-
@RobG 恕我直言,如果没有强制
==运算符,JS 将是一种更好的语言。
标签: javascript arrays function javascript-objects