Trouvez la valeur dans le tableau puis renvoyez true avec Angular forEach

Je suis en train d'apprendre le JavaScript et AngularJS.

Quelle est la différence entre ce code?

function isInArrayNgForeach(field, arr) {
    angular.forEach(arr, function(value, key) {
        if(field == value)
            return true;
    });
    return false;
} //This returns always false

function isInArrayJavaScript(field, arr) {
    for(var i = 0; i < arr.length; i++) {
        if(field == arr[i])
            return true;
    }
    return false;
} //This works fine

function isInArray() {
    var testArr = ['stack', 'over', 'flow'];
    console.log(isInArrayNgForeach('stack', testArr)); //return false
    console.log(isInArrayJavaScript('stack', testArr)); //return true
}

Ma question est: pourquoi isInArrayNgForeach toujours revenir faux? Je suppose que parce qu'il n'y est une fonction à l'intérieur de la fonction, mais je ne sais pas pourquoi.

source d'informationauteur Kimchi Man