我有一个对象
var friends = {
bill: {
firstName: "A",
lastName: "C",
number: "999",
},
};
如何使用friends
?
for...loop
的值
答案 0 :(得分:3)
var friends = {
bill:
{
firstName: "A",
lastName: "C",
number: "999",
},
print: function () {
for (var p in this.bill)
console.log(p + ' ' + this.bill[p]);
}
};
此代码将打印,是您需要的吗?
friends.print();
答案 1 :(得分:1)
如果您只想打印friends.bill
内的成员,可能需要使用for..in
循环,例如:
for(var p in friends.bill)
console.log(p + ": " + friends.bill[p])
将在控制台中打印出来:
firstName: A VM579:3
lastName: C VM579:3
number: 999
答案 2 :(得分:1)
我将提出一个建议,可能会使您的编码更容易一些。而不是使用对象来包含朋友列表,而是使用数组。毕竟数组是一个列表,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"}
希望你能找到一些有用的东西。