hasOwnProperty无法正确返回?

时间:2017-05-08 19:45:00

标签: javascript

为什么此功能会返回' No Contact'而不是' Akira'?



function lookUpProfile(firstName, prop){
  for(i=0;i<contacts.length;i++){    
    if(contacts[i].hasOwnProperty.prop){      
      return firstName;      
    }    
    return 'no contact' ;       
  } 
}


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"]
    }
];





console.log(lookUpProfile("Akira", "likes"));
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

您需要传递prop作为参数。

function lookUpProfile(firstName, prop){
  for(i=0;i<contacts.length;i++){    
    if(contacts[i].hasOwnProperty(prop)){      
      return firstName;      
    }    
    return 'no contact' ;       
  } 
}


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"]
    }
];





console.log(lookUpProfile("Akira", "likes"));

答案 1 :(得分:1)

contacts[i].hasOwnProperty(prop)