2016-08-27 9 views
5

Próbuję znaleźć sposób, aby warunkowo wyrwać się z iteracji przy użyciu funkcji JavaScript reduce.Podczas korzystania z redukcji JavaScript, jak pominąć iterację?

Biorąc pod uwagę następujący kod podsumowuje tablicę liczb całkowitych i zwróci liczbę 10:

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, currentIndex, array) { 
    return previousValue + currentValue; 
}); 

Jak można zrobić coś takiego:

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, currentIndex, array) { 
    if(currentValue === "WHATEVER") { 
    // SKIP or NEXT -- don't include it in the sum 
    } 
    return previousValue + currentValue; 
}); 
+1

Rozważ także odfiltrowanie wartości WHATEVER przed wywołaniem 'zmniejszenia'. –

Odpowiedz

15

można po prostu wrócić previousValue

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, currentIndex, array) { 
    if(currentValue === "WHATEVER") { 
    return previousValue; 
    } 
    return previousValue + currentValue; 
}); 
Powiązane problemy