您的位置:首页 > Web前端 > JavaScript

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

2018-03-29 16:10 357 查看
我们有一个联系人列表,里面存储着不同联系人的数组对象。函数
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";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: