2016-12-15 4 views
-1

は私が達成したいものです。JavascriptのプロフィールLookup関数ここ

* firstNameのは、実際の接触のfirstNameので、与えられたプロパティは(小道具)その連絡先のプロパティである場合、関数がチェックする必要があります。

両方が真の場合、そのプロパティの「値」を返します。

firstNameのは、その後、「そのようなプロパティ」を返さない小道具は、任意の有効なプロパティに対応していない場合は、「そのような接触」

を返さない、その後の任意の連絡先に対応していない場合*

マイコード:

//Setup 
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){ 
// Only change code below this line 
    for (var i = 0; i<prop.length; i++){ 
if(contacts.hasOwnProperty(firstName)=== true && contacts.hasOwnProperty(prop)=== true){ 

    return firstName[i].prop; 
} 
    else if(firstName !==firstName[i].prop) { 
    return "No such contact"; 
    } 
    else if(prop !== "prop"){ 
    return "No such property"; 
    } 
    } 
// Only change code above this line 
} 

// Change these values to test your function 
lookUpProfile("Akira", "likes"); 
+1

そして、あなたの質問は何ですか?あなたのコードに問題はありますか?はいの場合、それは何ですか? [ask]をお読みください。 –

答えて

0

あなたはfirstName接触をフィルタリングするためにArray.prototype.findを使用することができます - デモ下記参照:

// Setup 
 
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) { 
 
    var found = contacts.find(function(e){ 
 
    return e.firstName === firstName; 
 
    }); 
 
    if(!found) { 
 
    return "No such contact"; 
 
    } else { 
 
    if(prop in found) { 
 
     return found[prop]; 
 
    } else { 
 
     return "No such property"; 
 
    } 
 
    } 
 
} 
 

 
// Change these values to test your function 
 
var result = lookUpProfile("Akira", "likes"); 
 
console.log(result);

+0

これは動作しますが、課題を解決するためにhasOwnProperty()を使用する必要があります。 –

+0

私は 'prop in found'で十分だと思います...' hasOwnProperty'はプロトタイプチェーンのプロパティもチェックしますが、 'in'は列挙可能なものだけで動作します... :) – kukkuz

関連する問題