diff --git a/index.js b/index.js index ff28a6f9..40e2fb88 100644 --- a/index.js +++ b/index.js @@ -1,17 +1,34 @@ -class NumberArray { +// class NumberArray { +// constructor(numbers) { +// this.numbers = numbers; +// } + +// getPositiveSum() { +// let sum = 0; +// for (let number of this.numbers) { +// if (number > 0) { +// sum += number; +// } +// } +// return sum; +// } +// } + +class NumberArray { constructor(numbers) { - this.numbers = numbers; + this.numbers = numbers } getPositiveSum() { - let sum = 0; - for (let number of this.numbers) { - if (number > 0) { - sum += number; - } - } - return sum; + const positiveNumbers = this.numbers.filter(number => number > 0) //const is added in ES6 to hold values that won't be reassigned + //i used map and .filter to make a new array with only posative numbers instead of if + const positiveSum = positiveNumbers.reduce((sum, number) => sum + number, 0) + + //Used reduce instead of a for loop to iterate over the positive array and add it's numbers + + return positiveSum } + } const numbers = [2, -4, 6, -8, 10, -12]; @@ -20,3 +37,5 @@ const positiveSum = numberArray.getPositiveSum(); // Input: [2, -4, 6, -8, 10, -12] // Output: 18 +console.log(numberArray) +console.log(positiveSum) \ No newline at end of file