Наконец-то я пишу вопрос самостоятельно, потому что читаю здесь другой вопрос, но до сих пор не понимаю, почему мой код не работает. Может быть, кто-то может объяснить мне, что я ошибся?Обработка нескольких возвращаемых значений в javascript
Код работает до поиска имени «Джо», тогда он говорит, что par2 не определен ... Почему? При проверке после функции поиска я ясно видеть, что оба параметра par1 и par2 возвращаются ...
var friends = {};
friends.bill = {
firstName: "Bill",
lastName: "Gates",
number: "(206) 555-5555",
address: ['One Microsoft Way', 'Redmond', 'WA', '98052']
};
friends.steve = {
firstName: "Steve",
lastName: "Jobs",
number: "(408) 555-5555",
address: ['1 Infinite Loop', 'Cupertino', 'CA', '95014']
};
function list(obj) {
for (var prop in obj) {
console.log(prop);
}
};
function bettersearch(name2) {
var sna = name2
for (var prop in friends) {
if (friends[prop].firstName === name2) {
// console.log("Value found :",friends[prop]);
return {
par1: friends[prop],
par2: sna
}
}
}
};
// Test if the variables are returned
var test = bettersearch("Bill")
console.log("\n\n",test);
console.log("\n\n",test.par1);
console.log("\n\n",test.par2);
//Formatting function for a nice Output
function format(obj) {
if (obj) {
var result = "";
result += "\nName: " + obj.par1.firstName + " " + obj.lastName;
result += "\nNumber: " + obj.par1.number;
result += "\nAddress: " + obj.par1.address.join(', ');
console.log(result);
} else {
console.log("\nDer Name", obj.par2, "wurde nicht gefunden");
}
}
//Call the functions
format(bettersearch("Bill"));
format(bettersearch("Steve"));
format(bettersearch("Joe"));
Пожалуйста, прочитайте это Http: //stackoverflow.com/help/how-to-ask –
Когда происходит ошибка? В то время как в 'bettersearch' функция или когда вы делаете' format' на нем? – Peter
Где мой "Joe" объект в друзьях? –