如何在JavaScript中打印对象的值

How to print values of a object in JavaScript?

本文关键字:对象 打印 JavaScript      更新时间:2023-09-26

我有一个对象

var friends = {
    bill: {
       firstName: "A",
       lastName: "C",
       number: "999",
    },
};

如何使用for...loop打印对象friends的值?

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();

我将提出一个建议,这可能会让您的编码更容易一些。与其使用对象来包含好友列表,不如使用数组。数组毕竟是一个列表,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。

希望你能发现其中一些有用的东西。

如果只想打印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