2017-03-11 3 views
-2

私はコースを受講しました。ここで何をすればいいのですか - JavaScript

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){ 

    } 

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

だから、「クリスチャン」は、「lastNameのは、」「シャーロック」を 「ヴォス」を返すべきであり、「好き」返すべきである[「魅力的なケースは」、「ヴァイオリン」] 私はここ を何をすべきか混乱していますこの関数は、firstNameが実際の連絡先のfirstNameであり、指定されたプロパティ(prop)がその連絡先のプロパティであるかどうかをチェックする必要があります。

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

firstNameが連絡先に対応していない場合は、「そのような連絡先はありません」と返信してください 名前が存在するかどうかを確認する方法については、その部分を知りたいと思います。

答えて

1

これにはArray.prototype.find()を使用できます。あなたは(あなたの例では与えられていない)と同じ名前を持つ複数の人を持っているので、もしあなたがfilter()

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) { 
 
    let profile = contacts.find(contact => contact.firstName === firstName); 
 
    if (!profile) return "No such contact"; 
 
    return profile[prop] || "No such property"; 
 
} 
 

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

0

あなたにに切り替える必要があるだろう - それは唯一の最初の試合を返すことに注意してくださいそのようlodash使用することができ、

function lookUpProfile(firstName, prop) { 

    return _(contacts) 
    .filter(c => c.firstName === firstName) 
    .map(prop) 
    .value(); 
} 

あなたは、あなたが簡単に変数にクエリの結果を格納する変数をチェックすることで行うことができます "そのような連絡先の自分を、取り扱うないだろうと述べました。 このクレジットはanswer

です
関連する問題