在javascript中查找有关对象循环的错误
我是JavaScript新手,正在参加codeacademy课程。我已经被困在一个部分很长时间了,我不太明白我的错误是什么 我应该循环遍历一个本身包含对象的对象,并返回内部对象的特定属性。确切的代码是在javascript中查找有关对象循环的错误,javascript,debugging,Javascript,Debugging,我是JavaScript新手,正在参加codeacademy课程。我已经被困在一个部分很长时间了,我不太明白我的错误是什么 我应该循环遍历一个本身包含对象的对象,并返回内部对象的特定属性。确切的代码是 var friends = { bill: { firstName: "bill", lastName: "bill", number: 0319382, address: ["one chocloate","yea","su
var friends = {
bill: {
firstName: "bill",
lastName: "bill",
number: 0319382,
address: ["one chocloate","yea","sup"]
},
steve: {
firstName: "steve",
lastName: "steve",
number:41234134,
address: ["one chocloate","yea","sup"]
}
}
我正在做一个函数,检查一个名字是否与朋友中的任何名字匹配,以及true是否返回此人的详细信息。我目前的职能是
var search = function(name){
for (var k in friends){
if (k[firstName] === name){
for(var i in k){
console.log(i);
}
}
}
}
感谢您的回复,请记住我是(k中的var i)的完全初学者
只需将i
设置为属性名称,而不是值。要获得相应的值,必须使用k[i]
:
for (var i in k) {
console.log(i + ' is ' + k[i]);
}
看看这个代码->
var friends = {
bill: {
firstName: "bill",
lastName: "bill",
number: 0319382,
address: ["one chocloate","yea","sup"]
},
steve: {
firstName: "steve",
lastName: "steve",
number:41234134,
address: ["one chocloate","yea","sup"]
}
}
var search = function(name){
for (var k in friends){
var friend = friends[k]; //getting the index
if (friend.firstName === name){
//checking if the first name is equal to the passed one
for(var i in friend){
console.log(friend[i]); //getting the properties of the matched object
}
}
}
}
search('steve');