estoy atascado con una lógica simple, tengo una matriz como resultado que contiene números positivos y negativos.
lo que necesito es sumar tanto negativo como positivo e imprimir un resultado
const arr = ['-8', '-3', '1', '-4', '0'] // expected results = -14lo que he intentado hasta ahora es separar negativo y positivo con:
const positive = scores.filter(posNumber => posNumber >= 0) const negative = scores.filter(negNumber => negNumber < 0)pero si realizo una reducción en positivo, obtengo "010" como resultado....
Esas son cuerdas. Primero debe convertirlos a Números:
const arr = ['-8', '-3', '1', '-4', '0'].map(Number); const positive = arr.filter(posNumber => posNumber >= 0); const negative = arr.filter(negNumber => negNumber < 0); const positiveSum = positive.reduce((sumSoFar, current) => sumSoFar + current, 0); const negativeSum = negative.reduce((sumSoFar, current) => sumSoFar + current, 0);O solo
const arr = ['-8', '-3', '1', '-4', '0'].map(Number); const sum = arr.reduce((sumSoFar, current) => sumSoFar + current, 0);por la suma total.
El problema aquí es que su matriz es en realidad una matriz de cadenas en lugar de números. Entonces, en realidad, debe convertir la matriz en una matriz de números y luego puede sumar los valores.
const arr = ['-8', '-3', '1', '-4', '0']; const sum = arr.reduce((acc, value) => acc + Number(value), 0); // -14