gpt4 book ai didi

javascript - 使用点和文字表示法构造的 JavaScript 对象在调用时如何表现?

转载 作者:行者123 更新时间:2023-12-02 18:21:38 25 4
gpt4 key购买 nike

运行下面的代码时,没有任何函数调用,我会立即得到此输出

["1122","3rd St","Seattle","WA","92838"]

解决此代码的最接近的线程是 Need Explanation: Organization with Objects in a Contact List (Javascript, Codecademy)但这并没有完全解决我的担忧。

我确信我向对象添加键、值对的方式会以某种方式产生此输出,但我似乎无法解释为什么,特别是在运行代码时,不包含函数调用。

当实际尝试调用搜索时(例如搜索(“steve”)),它会失败,但它可以在搜索(“bill”)上工作。我认为这可能与 javascript 控制台有关,但我使用 Chrome 的控制台进行了检查,结果相同。任何帮助将不胜感激。

var friends={};
friends.bill = {};
friends.steve={};
friends.bill["firstName"]="Bill";
friends.bill["lastName"]="Gates";
friends.bill.number="333.222.3937";
friends.steve["firstName"]="Steve";
friends.steve.lastName="Ballmer";
friends.steve["number"]="829.383.3939";
friends.bill["number"]="232.8392.2382"
friends.bill.address=['5353','Cook Ave','Bellevue','CA','94838']
friends.steve.address=['1122','3rd St','Seattle','WA','92838']


var search=function(name)
{
for(var i in friends){
if (name==i["firstName"])
{
console.log(friends[i])
return friends[i]
}
else{
return "no match"
}

}
}

最佳答案

尝试改变:

for(var i in friends){
if (name==i["firstName"])
...

for(var i in friends){
if (name == friends[i]["firstName"])
...

你的意思是这样的:

for(var i in friends){
if( name == i ) { //i would be either "bill" or "steve" and check against name variable
console.log("Data for:" + i + " firstname is:" + friends[i]["firstName"]);
}
}

关于javascript - 使用点和文字表示法构造的 JavaScript 对象在调用时如何表现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18755485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com