【问题标题】:How to subtract using a reduce function?如何使用reduce函数进行减法?
【发布时间】:2022-11-15 13:53:32
【问题描述】:

我正在从 Eloquent JavaScript 一书中做这个练习,我正在尝试使用 reduce 函数减去列表并在最后显示总和。 这就是我所拥有的:

function getRange(start, end, step) {
  let arraylist = [];
  if (start < end) {
    for (let i = start; i <= end; i += step) {
      arraylist.push(i);
    }

    let sum = arraylist.reduce(function(accumulator, n) {
      return accumulator + n;
    }, 0);

    return arraylist.join(" + ") + " = " + sum;
  } else {
    for (let i = start; i >= end; i += step) {
      arraylist.push(i);
    }

    let sum2 = arraylist.reduce(function(accumulator, n) {
      return accumulator - n;
    }, 0);

    return arraylist.join(" - ") + " = " + sum2;
  }
}

console.log(getRange(10, 5, -1));

这是我运行代码时得到的。

【问题讨论】:

  • 你的问题是什么?

标签: javascript arrays


【解决方案1】:

在这里你可以试试这个逻辑:

let arr = [10, 9, 8, 7, 6, 5];
let sum = 0;
let dash = "";
let result = arr.reduce((prev, curr, index, arr) => {
  prev = prev + dash + curr;
  sum -= curr;
  dash = "-";
  return prev;
}, "");

console.log(result + " = ", sum);

【讨论】:

  • 请注意编辑器中的&lt;&gt;图标。您可以使用它创建一个 sn-p。另外,请解释你做了什么改变,为什么以及如何解决 OP 的问题
猜你喜欢
  • 1970-01-01
  • 2018-12-16
  • 2017-08-28
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 2016-10-04
相关资源
最近更新 更多