我有以下數組對象。每個對象都包含一個朋友,他們的年齡和性別,像這樣的名字:Javascript - 無法更改數組中的對象值
var friends = [{name: "Dan",
age: 34,
gender: "male"},
{name: "Chris",
age: 30,
gender: "male"},
{name: "Laura",
age: 32,
gender: "female"}];
我必須寫,可以採取任何的三個朋友和一年增加他們的年齡功能。我寫這樣的:
function hasBirthday(name){
friends.forEach(function(person){
if(name === person.name){
person.age += 1;
}
}); return person.age;
}
比方說,我想改變勞拉的從32到33歲的時候我會打電話的功能正是如此:
hasBirthday("Laura");
如果我是分配的功能一個變量,然後CONSOLE.LOG它,我希望可以將輸出爲33。但是,我總是得到以下錯誤消息:
ReferenceError: person is not defined.
可能有人能夠解釋爲什麼我不斷收到此錯誤信息任何光線?我完全被難住了。謝謝。
你爲什麼要給人名添加一個數字?你不想要'person.age'嗎? –
好吧,我的意思是,「人」實際上在您的退貨聲明中未定義。 (它在forEach之外) –
如果您的目標是要返回新時代,那麼您必須將該值存儲在每個變量之外的變量中,然後在每個變量之後返回該變量的值。或者使用for循環並返回。 –