Warum ist der Funktionsrückgabewert undefiniert, wenn er in einer Schleife zurückgegeben wird?

Ich kann nicht herausfinden, warum das passiert.

Die folgende Funktion gibt immer undefiniert zurück. Auch wenn die Bedingung erfüllt ist und ein Wert zurückgegeben werden soll.

Hier ist eine Instanz der Variable 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;
            }
        });
    }

Wenn ich jedoch eine Variable innerhalb der Schleife setze und diese Variable nach Beendigung der Schleife zurückgebe, wird der richtige Wert zurückgegeben.

function GetAnswerForProcessQuestion(pprID)
    {
        var answer;
        $.each(answerCollection, function (index, item)
        {
            var thisPprID = item["PprID"];
            if (thisPprID == pprID)
            {
                answer = item["Answer"];
            }
        });
        return answer;
    }

Irgendwelche Ideen, warum ich keinen Wert innerhalb der Schleife zurückgeben kann?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage