5.5 KiB
5.5 KiB
title, localeTitle
| title | localeTitle |
|---|---|
| Profile Lookup | 个人资料查询 |
如果卡住,请记得使用**Read-Search-Ask** 。尝试配对程序
并编写自己的代码
问题说明:
我们的联系人列表中有一组代表不同人的对象。
已经为您预先编写了一个lookUpProfile()函数,它将firstName和一个属性( prop )作为参数。
该函数应检查firstName是否是实际联系人的firstName ,并且给定属性( prop )是该联系人的属性。
如果两者都为真,则返回该属性的_值_ 。
如果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 ,则应返回prop的值。
- 如果找到firstName且未找到任何关联的prop ,则应返回
No such property。
- 如果在任何地方都找不到firstName ,则应返回
No such contact。
相关链接
提示: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返回No such property。
- 如果第二个
- 如果第一个
if语句失败,for循环将继续到联系人列表中的下一个对象。 - 如果firstName参数与最终联系人对象不匹配,则
for循环退出并且No such contact返回No such contact。
示例运行
lookUpProfile("Akira","likes");运行。"Akira"与第一个对象中的"firstName"键匹配,因此if语句返回true。- 在第一个对象中找到
"likes",因此第二个if语句返回true。 - 值
"likes"返回-"Pizza", "Coding", "Brownie Points"。
捐款说明:
请勿添加与任何现有解决方案类似的解决方案。如果您认为它**相似但更好** ,那么尝试合并(或替换)现有的类似解决方案。- 添加解决方案的说明。
- 将解决方案分为以下类别之一 - 基本 , 中级和高级 。

- 如果您添加了任何**相关的主要内容,**请仅添加您的用户名。 (
不要 删除任何现有的用户名 )

