Estoy tratando de iterar a través de una matriz en mecanografiado, pero en ocasiones, dentro de la matriz habrá un valor vacío o un valor NaN (nulo) de forma predeterminada. esto realmente arruina mi función de suma, ya que está tratando de llamar a parseInt() en un valor nulo, por lo que la función también devuelve NaN. ¿Cómo puedo hacer una condición if dentro de esta función para verificar el número () primero, de lo contrario, omitir/continuar? Sé que ingenuamente puedo tener un bucle for each y verificar esto dentro de una declaración if, pero eso no es lo ideal.
sumOwnershipLiabilityPercentages(): number{ // return the sum of all the percentage ownerships return this.liabilitiesOwnershipList.reduce((prev: number, cur: any) => prev + parseInt(cur.percentage), 0); }Puedes hacer la suma condicional.
const sum = d.reduce((p: number, c: number) => p += (c) ? c : 0)si quieres hacer un if más elaborado, hazlo así
const sum2 = d.reduce((p: number, c: number) => { if (c) return p += c; else return p += 0; })o, en tu caso, algo como esto
return this.liabilitiesOwnershipList.reduce((prev: number, cur: any) => { if (cur && cur?.percentage) return prev += parseInt(cur.percentage); else return prev += 0; });