Saisir la valeur de retour et de sortir de forEach en JavaScript?

Comment puis-je modifier ce code afin que je puisse saisir le terrain.DependencyFieldEvaluated valeur et de sortir de la fonction dès que je reçois cette valeur?

function discoverDependentFields(fields) {
                    fields.forEach(function (field) {
                        if (field.DependencyField) {
                            var foundFields = fields.filter(function (fieldToFind) { return fieldToFind.Name === field.DependencyField; });
                            if (foundFields.length === 1) {
                               return field.DependencyFieldEvaluated = foundFields[0];

                            }
                        }
                    });
                }
quoi de mal avec la fonction ci-dessus ??
Pourquoi ne pas utiliser for boucle au lieu de forEach fonction?
vous ne pouvez pas sortir de forEach(), essayez d'utiliser every au lieu de cela stackoverflow.com/questions/6260756/...
tout d'abord, il se plaint que tous les chemin retourne une valeur. deuxièmement, il continue sur la boucle, même lorsqu'il atteint la ligne de retour!
l' .forEach() la fonction est censés continuer la boucle, il ignore la valeur de retour de ta fonction. Si vous utilisez .tous les() à la place, vous pouvez sortir début mais n'est qu'en retournant false - c'est-à-dire que vous ne pouvez pas retourner directement une valeur pour le code en dehors de la boucle, vous devez affecter la valeur d'une variable déclarée à l'extérieur. Si vraiment ce que vous voulez faire est de retour, la valeur de la discoverDependentFields() fonction de la façon la plus simple est tout simplement d'utiliser un traditionnel for boucle.

OriginalL'auteur Maryam | 2016-02-17