なぜこれが起こっているのかわかりません。
次の関数は常に undefined を返します。条件が満たされ、値が返される場合でも。
これは answerCollection 変数のインスタンスです。
[
Object
Answer: "2"
AnswerText: undefined
OpsID: "24"
PprID: "2"
Question: "How many colors?"
__proto__: Object
]
.
function GetAnswerForProcessQuestion(pprID)
{
$.each(answerCollection, function (index, item)
{
var thisPprID = item["PprID"];
if (thisPprID == pprID)
{
var answer = item["Answer"];
return answer;
}
});
}
ただし、ループ内で変数を設定し、ループの実行が終了したらその変数を返すと、正しい値が返されます。
function GetAnswerForProcessQuestion(pprID)
{
var answer;
$.each(answerCollection, function (index, item)
{
var thisPprID = item["PprID"];
if (thisPprID == pprID)
{
answer = item["Answer"];
}
});
return answer;
}
ループ内から値を返せない理由について何か考えはありますか?