【问题标题】:Javascipt calculator with 2 classes带有 2 个类的 Javascript 计算器
【发布时间】:2021-03-27 16:53:14
【问题描述】:

我必须使用这个 index.js 并创建 Calculator.js 来完成所有的数学运算。我还必须使用 lodash(过滤和减少)。

    const _ = require('lodash');


const Calculator = require('./Calculator.js')

const item1 = new Calculator([1, 2, 3, 4, 5])
const item2 = new Calculator([1, 'text', 3, {}])

item1.sum()
item1.subtract()

item2.sum()
item2.subtract()

计算器.js

const _ = require('lodash');

module.exports = class Calculator {
  constructor(items=[]){
    this.items = items;
    _.filter(this.items, typeof(number))
  }
  sum(){
    _.reduce(this.items, function(sum, n) {
  return sum + n;
},0)}
  
  subtract(){
    _.reduce(this.items, function(sum, n) {
  return sum - n;
  },0)}
}

它应该在控制台中给我结果,但它只是一个空白页。我在上面坐了大约 1 小时,但我找不到修复代码的方法。

【问题讨论】:

  • 请参阅 how to ask 以获取有关如何提出更适合 stackoverflow 的问题的提示 :) 不清楚您在此处提出的问题,因此请在阅读后随时进行编辑跨度>
  • 您的查询是什么?
  • 它应该给我控制台中的总和数字吧?但它只是空白
  • 我正在使用 replit.com 刚刚开始 uni
  • 它现在可以工作,但我必须找到一种方法来过滤它

标签: javascript lodash


【解决方案1】:

_.reduce()_.filter() 都创建了您需要分配或返回的新数组(请参阅 cmets)。出于同样的原因,您还需要使用console.log() 包装方法调用以查看结果。

class Calculator {
  constructor(items = []) {
    this.items = _.filter(items, _.isNumber) // filter with _.isNumber and assign to this.items
  }
  sum() {
    // return the sum
    return _.reduce(this.items, function(sum, n) {
      return sum + n;
    }, 0)
  }
  subtract() {
    // return the difference
    return _.reduce(this.items, function(sum, n) {
      return sum - n;
    }, 0)
  }
}

const item1 = new Calculator([1, 2, 3, 4, 5])
const item2 = new Calculator([1, 'text', 3, {}])

// wrap the method calls with console.log to see the results
console.log(item1.sum())
console.log(item1.subtract())

console.log(item2.sum())
console.log(item2.subtract())
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous"></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    相关资源
    最近更新 更多