hasOwnProperty没有正确返回?

问题描述:

为什么这个函数返回'No Contact'而不是'Akira'?hasOwnProperty没有正确返回?

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"));

+0

'如果(联系人[I] .hasOwnProperty(丙))' – James

+0

因为'hasOwnProperty'功能没有所谓的属性'道具'。 – melpomene

你需要在你的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"));

尝试

contacts[i].hasOwnProperty(prop)