它会继续打印4次。
代码:
var friends = {};
friends.bill = {
firstName: "Bill",
lastName: "Gates",
number: "(206) 555-5555",
address: ['One Microsoft Way','Redmond','WA','98052']
};
friends.steve = {
firstName: "Steve",
lastName: "Jobs",
number: "(408) 555-5555",
address: ['1 Infinite Loop','Cupertino','CA','95014']
};
var list = function(obj) {
for(var prop in obj) {
console.log(obj);
}
};
list(friends.bill);
我想要一个结果:
{ firstName: 'Bill',
lastName: 'Gates',
number: '(206) 555-5555',
address: [ 'One Microsoft Way', 'Redmond', 'WA', '98052' ] }
不是
Bill
Gates
(206) 555-5555
[ 'One Microsoft Way', 'Redmond', 'WA', '98052' ]
而不是
{ firstName: 'Bill',
lastName: 'Gates',
number: '(206) 555-5555',
address: [ 'One Microsoft Way', 'Redmond', 'WA', '98052' ] }
{ firstName: 'Bill',
lastName: 'Gates',
number: '(206) 555-5555',
address: [ 'One Microsoft Way', 'Redmond', 'WA', '98052' ] }
{ firstName: 'Bill',
lastName: 'Gates',
number: '(206) 555-5555',
address: [ 'One Microsoft Way', 'Redmond', 'WA', '98052' ] }
{ firstName: 'Bill',
lastName: 'Gates',
number: '(206) 555-5555',
address: [ 'One Microsoft Way', 'Redmond', 'WA', '98052' ] }
我该怎么做?
答案 0 :(得分:4)
好吧,您正在迭代对象的属性并为每个属性打印对象。您有四个属性(firstName
,lastName
,number
和address
),因此对象会被打印四次。
如果你不想这样做,那么就不要循环。取代
for(var prop in obj) {
console.log(obj);
}
带
console.log(obj);
答案 1 :(得分:1)
以前的答案都建议只在terminfo
上使用console.log
。这很接近,但如果您尝试一下,我不确定它是否完全符合您的要求:由于friends.bill
是一个嵌套数组,它将打印出address
作为其价值,而不是打印其内部价值。
实现我认为你想要的东西的理想方式是(如果我正确理解)是打印JavaScript对象的字符串表示,就是使用Array[4]
:
JSON.stringify
这将首先将您的对象转换为字符串表示形式,并将所有字段名称和值作为字符串,然后将转换后的字符串写入控制台。
答案 2 :(得分:0)
var friends = {};
friends.bill = {
firstName: "Bill",
lastName: "Gates",
number: "(206) 555-5555",
address: ['One Microsoft Way','Redmond','WA','98052']
};
friends.bill
是firstName, lastName, number, address
的对象。如果您想要以下结果。
{ firstName: 'Bill',
lastName: 'Gates',
number: '(206) 555-5555',
address: [ 'One Microsoft Way', 'Redmond', 'WA', '98052' ] }
您可以直接使用console.log(friends.bill)
来获得所需的结果。
你正在做的是迭代对象,所以循环将遍历属性,friends.bill
有四个属性(firstName,lastName,number,address)所以循环将运行四次打印{{ 1}}对象。
friends.bill