Reputation: 1
I've made the range function which gives me the integers between start
and end
. Now i have to make a sum
function, that takes range
as a parameter and gives the sum of that.
function range(start, end) {
let numbers = [];
for(i=start; i <= end; i++) {
numbers.push(i);
}
return numbers;
}
console.log(range(1,5));
function sum(arrayOfNumbers) {
var sumOfNo;
for(i=0; i <= arrayOfNumbers; i++) {
arrayOfNumbers += sumOfNo;
}
return sumOfNo;
}
console.log(sum(range(10,15)));
Upvotes: 0
Views: 69
Reputation: 46
you can use reduce for this
function range(start, end) {
let numbers = [];
for (i = start; i <= end; i++) {
numbers.push(i);
}
return numbers;
}
console.log(range(10, 15));
function sum(arrayOfNumbers) {
return arrayOfNumbers.reduce((a, n) => {
return a += n;
}, 0)
}
console.log(sum(range(2, 4)));
Upvotes: 1
Reputation: 420
function getSumFromRange(start, end) {
return ((end * (end + 1)) / 2) - ((start * (start + 1)) / 2) + start;
}
console.log(getSumFromRange(1, 10));
JSFiddle : click here
it will be the efficient way to find sum of range. using simple liner female, refer The nth partial sum of the series
Upvotes: 0
Reputation: 618
Some errors I find from the code (in sum function)
the following resolves it.
function range(start, end) {
let numbers = [];
for(i=start; i <= end; i++) {
numbers.push(i);
}
return numbers;
}
console.log(range(1,5));
function sum(arrayOfNumbers) {
var sumOfNo = 0;
for(i=0; i < arrayOfNumbers.length; i++) {
sumOfNo += arrayOfNumbers[i];
}
return sumOfNo;
}
console.log(sum(range(10,15)));
Upvotes: 0