El prevValue se vuelve indefinido, pero cuando elimino las líneas condicionales (170) arriba de indefinido desaparece.
Pero cuando agrego el prevValue como condición en la línea 173, ya no realizará la línea a continuación.
Lo que quería es cuando se cumple una condición, entonces puedo insertar un elemento dentro de prevValue.
Tengo el ejemplo completo que podemos examinar aquí en codesandbox https://codesandbox.io/s/goofy-feather-t79kb6?file=/src/index.js
Lo siento, pasé horas en este sencillo pero me llevó mucho tiempo. Tu ayuda es altamente apreciada. Gracias.
El valor devuelto por la función de devolución de llamada se convierte en el nuevo valor acumulado, con cada iteración.
Entonces, si no lo estamos actualizando, tenemos que devolver el valor anterior.
arr.reduce((acc,item)=>{ if(condition) return acc.concat(item); //else return acc; //-->should not miss this. })Creo que esta regla de eslint https://eslint.org/docs/rules/array-callback-return ayudará a detectar este tipo de problemas temprano.