【问题标题】:TypeError: Cannot read properties of undefined (reading 'read') in gitlabTypeError:无法在 gitlab 中读取未定义的属性(读取“读取”)
【发布时间】:2022-01-16 12:35:14
【问题描述】:

我对 TypeError: Cannot read properties of undefined (reading 'read') in gitlab 有点困惑。我想要以下:

函数 createCalculator() 用三个方法返回一个对象:

read (arr) 接受一个数字表并将其保存在其字段中 对象。

sum() 返回表格值的总和

mul() 返回表值的乘积

采取以下和平代码:

function createCalculator() {

    let calculator = {
        sum() {
            return this.a + this.b + this.c ;

        },

        mul() {
            return this.a * this.b*this.c;

        },

        read(arr) {
            this.a = 1;
            this.b = 3;
            this.c = 6;
            arr.push(arr);

        }
    };

    calculator.read([1,3,6]);
    console.log( calculator.sum() );
    console.log( calculator.mul() );


}
let calculator;
calculator = createCalculator();

【问题讨论】:

  • 你的函数没有返回任何东西,你的 read 方法也没有保存任何数组,只是分配了一些硬编码的属性。
  • 我该如何解决?你能帮帮我吗?
  • 这和 GitLab 有什么关系?这是否发生在某些 CI 管道中?这似乎与 GitLab 无关。

标签: javascript gitlab


【解决方案1】:

我认为您正在寻找这个,但不确定为什么以及何时出现错误(不明白这与 gitlab 有什么关系)。

function createCalculator() {

    return {
        sum() {
          return this.values.reduce((a, b) => a + b, 0);
        },

        mul() {
          return this.values.reduce((a, b) => a * b, 1);
        },

        read(arr) {
          this.values = arr;
        }
    };
}

const calculator = createCalculator();
calculator.read([1,3,6]);
console.log( calculator.sum() );
console.log( calculator.mul() );

你也可以使用一个类来做同样的事情:

class Calculator {
  static sum() {
    return this.values.reduce((a, b) => a + b, 0);
  }

  static mul() {
    return this.values.reduce((a, b) => a * b, 1);
  }

  static read(arr) {
    this.values = arr;
  }
}

Calculator.read([1,3,6]);
console.log( Calculator.sum() );
console.log( Calculator.mul() );

【讨论】:

  • @mixalispetros 仍有问题?
猜你喜欢
  • 1970-01-01
  • 2021-11-26
  • 2021-11-24
  • 2021-12-20
  • 2021-11-27
  • 2022-01-21
  • 2021-12-04
  • 2021-12-09
  • 2021-12-06
相关资源
最近更新 更多