bingqing46 / exercise

坚持每日练习
0 stars 0 forks source link

The Sum of a Range #7

Open bingqing46 opened 4 years ago

bingqing46 commented 4 years ago
// Your code here.
function range(start, end, step){
  step = step || 1;
  let outArr = [start];
  let temp = start + step;
  while((step > 0 && temp <= end) || (step < 0 && temp >= end)){
    outArr.push(temp);
    temp += step;
  }
  return outArr;
}

function sum(arr){
  let output = 0;
  arr.forEach(index => {
    output += index;
  });

  return output;
}
console.log(range(1, 10));
// → [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(range(5, 2, -1));
// → [5, 4, 3, 2]
console.log(sum(range(1, 10)));
// → 55
bingqing46 commented 4 years ago
function range(start, end, step) {
  if (step == null) step = 1;
  var array = [];

  if (step > 0) {
    for (var i = start; i <= end; i += step)
      array.push(i);
  } else {
    for (var i = start; i >= end; i += step)
      array.push(i);
  }
  return array;
}

function sum(array) {
  var total = 0;
  for (var i = 0; i < array.length; i++)
    total += array[i];
  return total;
}

console.log(range(1, 10))
// → [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
console.log(range(5, 2, -1));
// → [5, 4, 3, 2]
console.log(sum(range(1, 10)));
// → 55