JavaScript 使用循环语句查找通讯录

本文介绍了一个用于从联系人列表中查找特定联系人及其属性的函数。该函数接收两个参数:联系人的名字和需要查询的属性名,然后返回该属性的值。如果找不到对应的联系人或者属性,则会返回错误提示。

我们有一个联系人列表,里面存储着不同联系人的数组对象。

函数 lookUpProfile 有两个预定义参数:firstName值和prop属性 。

该函数应检查firstName是实际联系人的firstName,给定的属性(prop)是该联系人的属性。

如果firstName 值、prop 属性都存在,函数返回prop属性对应的值。

如果firstName 值不存在,返回 "No such contact"

如果prop 属性不存在,返回 "No such property"

 


var contacts = [
{
"firstName": "Akira",
"lastName": "Laine",
"number": "0543236543",
"likes": ["Pizza", "Coding", "Brownie Points"]
},
{
"firstName": "Harry",
"lastName": "Potter",
"number": "0994372684",
"likes": ["Hogwarts", "Magic", "Hagrid"]
},
{
"firstName": "Sherlock",
"lastName": "Holmes",
"number": "0487345643",
"likes": ["Intriguing Cases", "Violin"]
},
{
"firstName": "Kristian",
"lastName": "Vos",
"number": "unknown",
"likes": ["Javascript", "Gaming", "Foxes"]
}
];


function lookUpProfile(firstName, prop){

  for (var i in contacts)
  {if (contacts[i].firstName === firstName && prop in contacts[i])
     return contacts[i][prop];}
  for ( i in contacts)
  {  if (prop in contacts[i] ===false)
     return  "No such property";  
  }
  for ( i in contacts)
  {  if (contacts[i].firstName !== firstName)
     return "No such contact";}
}


运行:lookUpProfile("Akira", "likes"); 

运行结果:

"Kristian", "lastName" 应该返回 "Vos"

"Sherlock", "likes" 应该返回 ["Intriguing Cases", "Violin"]

"Harry","likes" 应该返回一个数组

"Bob", "number" 应该返回 "No such contact"

"Akira", "address" 应该返回 "No such property"

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值