8.4 KiB
title | localeTitle |
---|---|
Profile Lookup | Поиск профиля |
Не забудьте использовать Read-Search-Ask
если вы застряли. Попробуйте подключить программу и напишите свой собственный код
Проблема Объяснение:
У нас есть набор объектов, представляющих разные люди в наших списках контактов.
Функция lookUpProfile()
которая принимает firstName и свойство ( prop ) в качестве аргументов, была предварительно написана для вас.
Функция должна проверять, является ли firstName фактическим контактом firstName, и данное свойство ( prop ) является свойством этого контакта.
Если оба значения true, верните значение этого свойства.
Если firstName не соответствует никаким контактам, тогда возвращайте No such contact
.
Если prop не соответствует каким-либо действительным свойствам, тогда возвращайте No such property
.
- Измените код ниже
// Only change code below this line
и до// Only change code above this line
. - Убедитесь, что вы редактируете внутреннюю часть функции
lookUpProfile()
.- Эта функция включает в себя два параметра: firstName и prop .
- Функция должна просматривать список контактов для данного параметра firstName .
- Если найдено совпадение, тогда функция должна искать данный параметр prop .
- Если найдено имя firstName и связанная поддержка , вы должны вернуть значение prop .
- Если firstName найдено и никакой связанной опоры не найдено, вы должны вернуть
No such property
.
- Если firstName не найдено нигде, вы должны вернуть
No such contact
.
Связанные ссылки
- Задача: доступ к объектам с помощью условных обозначений
- Задача: Итерация с помощью JavaScript для циклов
Подсказка: 1
Используйте цикл for
циклического перехода по списку контактов .
попытаться решить проблему сейчас
Подсказка: 2
Используйте вложенный оператор if
чтобы сначала проверить, совпадает ли firstName , и затем проверяет, соответствует if
поддержка .
попытаться решить проблему сейчас
Подсказка: 3
Оставьте свое return "No such contact"
из цикла for
в качестве окончательного улова.
попытаться решить проблему сейчас
Осторожно, спойлеры!
Решение впереди!
Решение базового кода:
for (var x = 0; x < contacts.length; x++){
if (contacts[x].firstName === name) {
if (contacts[x].hasOwnProperty(prop)) {
return contacts[x][prop];
} else {
return "No such property";
}
}
}
return "No such contact";
Код Объяснение:
- Цикл
for
запускается, начиная с первого объекта в списке контактов . - Если параметр firstName, переданный в функцию, соответствует значению ключа
"firstName"
в первом объекте, выполняется операторif
. - Затем мы используем
.hasOwnProperty()
(проверяет, есть ли заданное свойство и возвращает логическое значение) с prop в качестве аргумента. Если это правда, возвращается значение prop .- Если второй оператор
if
терпит неудачу,No such property
не возвращается.
- Если второй оператор
- Если первый оператор
if
не работает, циклfor
переходит к следующему объекту в списке контактов . - Если параметр firstName не соответствует объекту конечных контактов , цикл
for
завершается, иNo such contact
не возвращается.
Пример Run
lookUpProfile("Akira","likes");
пробеги."Akira"
сопоставляется с ключом"firstName"
в первом объекте, поэтому операторif
возвращает true."likes"
находится внутри первого объекта, поэтому второй операторif
возвращает true.- Возвращается значение
"likes"
-"Pizza", "Coding", "Brownie Points"
.
ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:
- НЕ добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это похоже, но лучше , попробуйте объединить (или заменить) существующее подобное решение.
- Добавьте объяснение своего решения.
- Классифицируйте решение в одной из следующих категорий - Basic , Intermediate и Advanced .
- Пожалуйста, добавьте свое имя пользователя, только если вы добавили соответствующее основное содержимое . ( НЕ удаляйте существующие имена пользователей )
Видеть
Wiki Challenge Solution Template
дляWiki Challenge Solution Template
для справки.