2016-08-04 27 views
0

我似乎無法從多維數組中獲取記錄。這並沒有給我任何特別的錯誤,可以讓我明確自己在做錯什麼。javascript while while獲取記錄信息的循環

你能協助嗎?

//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 
 
    var i = 0; 
 
    while(i < contacts.length) { 
 
    if (contacts[i].firstName === firstName) { 
 
     return contacts[i].prop; 
 
    } 
 
    i++; 
 
} 
 
// Only change code above this line 
 
} 
 

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

+1

contacts [i] [prop];您使用點符號錯誤 – mplungjan

+0

http://underscorejs.org/#findWhere – Kalman

+0

問題如此微不足道,爲什麼還要使用下劃線? – mplungjan

回答

1

變化

return contacts[i].prop; 

return contacts[i][prop]; 

要擴大一點:在你的原代碼,你要求獲得叫場「道具「來自聯繫人。你的意圖是你想要的變量名稱爲prop的字段。

+0

你是什麼意思?對不起,我在回答SO時還是有點新意,只是好奇如何改進。 –

+0

問題是如此微不足道,它可以作爲一個錯字封閉。你的回答是正確的,沒問題,只是這個問題太簡單了,在我看來不能回答。看到我對這個問題的評論。留下你的正確答案,也許它會被接受,你會得到一些代表。 – mplungjan

1

更改contacts[i].prop;contacts[i][prop];

+0

已經評論和回答! – mplungjan