我将提出一个建议,可能会使您的编码更容易一些。不要使用对象来包含朋友列表,而是使用数组。数组毕竟是一个列表,而 Javascript 附带了一些非常有用的数组函数,从长远来看可以为您提供帮助。
var friends = [
{
name: 'Bill Z',
firstName: "Bill",
lastName: "X",
number: "999",
},
{
name: 'Sam Y',
firstName: "Sam",
lastName: "Y",
number: "999",
}
];
要获取朋友列表,您可以使用几个循环;一个循环遍历对象列表,一个循环遍历每个对象的属性:
function listFriends() {
for (var i = 0, l = friends.length; i < l; i++) {
for (var p in friends[i]) {
console.log(p + ': ' + friends[i][p]);
}
}
}
或者获取 HTML:
function listFriends() {
var html = '';
for (var i = 0, l = friends.length; i < l; i++) {
html += '<b>' + friends[i].firstName + '</b><br/>';
for (var p in friends[i]) {
html += p.toUpperCase() + ': ' + friends[i][p] + '<br/>';
}
}
return html;
}
您可能还想访问朋友列表以查找特定的朋友。在这个例子中,我使用filter。
function getFriend(prop, value) {
return friends.filter(function (obj) {
return obj[prop] === value;
});
}
console.log(getFriend('firstName', 'Sam')) // { name="Sam Y", firstName="Sam", lastName="Y"}
Fiddle.
希望您会发现其中的一些有用。