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

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

函数 lookUpProfile 有两个预定义参数:firstName值和prop属性 。该函数应检查firstName是实际联系人的firstName,给定的属性(prop)是该联系人的属性。

如果它们都存在,函数返回 prop属性对应的值。如果 firstName 值不存在,返回 "No such contact"。如果 prop 属性不存在,返回 "No such property"
方法1:hasOwnProperty

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=0; i<contacts.length; i++){
    if(contacts[i].firstName==firstName){
        var a = 1;
        if(contacts[i].hasOwnProperty(prop)){
            var b=1;
            return contacts[i][prop];
        }
    } 
}
if(a!=1){
    return "No such contact";
}
if(b!=1){
    return "No such property";
}
}

方法2: 注意:将最后的return写在循环外,如果之前有条件满足,return之后会跳出循环。
function lookUp(firstName, prop){

 
for ( var a=0;a<contacts.length;a++ ){
   
if (firstName == contacts[a]["firstName" ]){
     
if (contacts[a][prop] != undefined){
       
return contacts[a][prop];
      }
else {
       
return "No such property" ;
      }
    }

}
return "No such contact" ;
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值