Retorno de um método no qual o método de matriz forEach () foi chamado. Javascript

Estou usando o método forEach () chamado de uma matriz em JavaScript. Quando escrevoreturn; em algum lugar dentro do método que é chamado para cada elemento da matriz, eu retorno do método que foi chamado para um elemento específico e isso é tudo. Mas o que eu realmente quero é retornar do método em que o array chamado forEach (). Aqui está o código:

    function addToCart(pizza, size)
    {
        Cart.forEach(function(cartItem)
        {
            if(pizzaAndSizeAreTheSame(cartItem, pizza, size))
            {
                cartItem.quantity++;
                updateCart();
                //Want go out from addToCart if this return is reached
                return;
            }
        });

        //Don`t want the code run after return;
        Cart.push
        ({
            pizza: pizza,
            size: size,
            quantity: 1
        });
        updateCart();
    }

Aqui está a solução com a qual eu vim até agora:

    function addToCart(pizza, size)
{
    var leaveTheMethod = false;
    Cart.forEach(function(cartItem)
    {
        if(pizzaAndSizeAreTheSame(cartItem, pizza, size))
        {
            cartItem.quantity++;
            updateCart();
            leveTheMethod = true;
        }
    });
    if(leaveTheMethod)
        {return;}

    //Don`t want the code run after return;
    Cart.push
    ({
        pizza: pizza,
        size: size,
        quantity: 1
    });
    updateCart();
}

Gostaria de saber se existem soluções melhores para o problema.

Comparado a essa pergunta:Como curto-circuito Array.forEach como chamar break? Não estou interessado em conhecer o novo método no loop forEach () e quero interromper não forEach (), mas abranger o método de chamada forEach ().

questionAnswers(4)

yourAnswerToTheQuestion