我正在我的Javascript代码中编写搜索功能。但是,它继续返回搜索功能并不会返回正确的联系信息。
此搜索功能的目标是返回对象的联系信息,即firstName,lastName,number和address。如果给定一个输入名称,它匹配我创建的对象中的一个键,它应该返回联系信息并将其记录在控制台上。
var friends = {
bill:{
firstName : "Bill",
lastName : "Gates",
number : "(123) 456- 7890",
address : ['Microsoft', 20]
},
steve:{
firstName : "Steve",
lastName : "Jobs",
number : "(123) 456- 7890",
address : ['Apple', 30]
}
};
var friends1 = new Object();
var list = function(friends1){
for(var key in friends1){
console.log(friends1[key].firstName.toLowerCase());
}
};
var search = function(name){
for(var key in friends1){
if(friends1[key].firstName.toLowerCase() === name.toLowerCase()){
console.log(friends1[key]);
return friends1[key];
}
}
};
list(friends1);
search("Steve");
答案 0 :(得分:2)
在search
功能中,循环浏览friends1
中的键。 friends1
关闭的search
是来自:
var friends1 = new Object();
search
...你永远不会添加任何属性。所以循环不会做任何事情;
。您正在查询的对象中没有可枚举的属性。在整个friends
中,您需要friends1
,而不是var friends = {
bill:{
firstName : "Bill",
lastName : "Gates",
number : "(123) 456- 7890",
address : ['Microsoft', 20]
},
steve:{
firstName : "Steve",
lastName : "Jobs",
number : "(123) 456- 7890",
address : ['Apple', 30]
}
};
var friends1 = new Object();
var search = function(name){
for(var key in friends){
if(friends[key].firstName.toLowerCase() === name.toLowerCase()){
snippet.log(friends[key]);
return friends[key];
}
}
};
search("Steve");
:
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
v=10;
teta=[20 40 60]; % angle of the projectile motion
vx=v*cos(pi*teta/180); % velocity in x axis
vy=v*sin(pi*teta/180); % velocity in y axis
x=0:20;
y=zeros(size(x));
for i=1:length(vx)
y(i,:)=vy(i).*(x./vx(i))-(0.5*9.81*(x./vx(i)).^2); % here I calculate the height of the ball in y axis
end
plot(x,y)
set(gca,'ylim',[0,5])