【问题标题】:Operating a calculation on four basic operation using java script functions使用javascript函数对四种基本操作进行计算
【发布时间】:2022-11-14 00:51:48
【问题描述】:

我试图通过调用我的预定义函数来进行计算操作并获得总结果,而不是从相同的函数中分离结果,以防我多次调用一个函数。 例如 :

正如您在图片中看到的那样,当我两次调用相同的函数( calculator.sumValues(25, 4) & calculator.sumValues(45, 4))时,代码分别返回结果( sum: [ 29, 49 ] )但是我想要将结果作为两者的总和,即 29 + 49 = 78

感谢您提前帮助我。

这是我的代码:

const calculator = {
    sum: [],
    subtraction: [],
    multiplication: [],
    division: [],

    sumValues: function (num1, num2) {
      this.sum.push({
        num1: num1,
        num2: num2,
      });
    },
    subtractionValues: function (num1, num2) {
      this.subtraction.push({
        num1: num1,
        num2: num2,
      });
    },
    multiplyValues: function (num1, num2) {
      this.multiplication.push({
        num1: num1,
        num2: num2,
      });
    },
    divisionValues: function (num1, num2) {
      this.division.push({
        num1: num1,
        num2: num2,
      });
    },
    resualtValues: function () {
      let result = {
        sum:[],
        sub:[],
        mul:[],
        div:[],
      };
      // **Sum Operation**
      this.sum.forEach(function (item) {
        result.sum.push(item.num1 + item.num2);
      });
      // **Sub Operation**
      this.subtraction.forEach(function (item) {
        result.sub.push(item.num1 - item.num2);
      });
      // **Mul Operation**
      this.multiplication.forEach(function (item) {
        result.mul.push(item.num1 * item.num2);
      });
      // **Div Operation**
      this.division.forEach(function (item) {
        result.div.push(item.num1 / item.num2);
      });
      return result
    },
  };   

       calculator.sumValues(25, 4);
       calculator.sumValues(45, 4);
       calculator.subtractionValues(20, 5);
       calculator.multiplyValues(5, 6);
       calculator.divisionValues(45, 5);
       console.log(calculator.resualtValues());

【问题讨论】:

  • 对于乘法数组,您想要所有multiplyValues 的乘法?
  • 是的,我希望所有功能都显示相同的行为

标签: javascript for-loop foreach calculator


【解决方案1】:
     this.sum.forEach(function (item) {
       result.sum.push(item.num1 + item.num2);
     });

这将计算this.sum 数组中每个item 的总和。看起来你想要的是计算所有项目的总和。这很简单,你只需要在你的循环之外跟踪总和(所以你不只是得到个人items的总和)

      // **Sum Operation**
      totalSum = 0
      this.sum.forEach(function (item) {
        totalSum += item.num1 + item.num2
      });
      result.sum.push(totalSum)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    相关资源
    最近更新 更多