向数组添加数字的类函数

时间:2018-12-09 20:52:17

标签: javascript

我只想每次单击按钮将值添加到数组中。但是,当我 ID ABC XYZ LMN 1 12,34 NULL 90 2 34 55,44 NULL 3 1,4,5 NULL NULL 4 NULL 33 101,100 时,我只会得到输入的最后一个值,而不是以前的值

console.log(this.arr)

3 个答案:

答案 0 :(得分:0)

您每次点击都在创建Deposit()的新实例。

为防止这种情况,请将new Deposit()实例化带出客户端事件之外,因此Deposit()仅被实例化一次:

const input = document.getElementById('input');
const deposit = document.getElementById('deposit');

class Deposit {
  constructor() {
    this.arr = [];
    this.sum = 0;
  }

  addDeposit(value) {
    let v = value;
    this.arr.push(v);
    console.log(this.arr)
  }
}

let newDeposit = new Deposit();

deposit.addEventListener('click', () => {
  let value = input.value;
  newDeposit.addDeposit(value)
})
<input id="input">
<button id="deposit">Deposit</button>

答案 1 :(得分:0)

尝试

const input = document.getElementById('input');
const deposit = document.getElementById('deposit');

class Deposit {
  constructor() {
    this.arr = [];
    this.sum = 0;
  }

  addDeposit(value) {
    let v = value;
    this.arr.push(v);
    console.log(this.arr)
  }
}

let newDeposit = new Deposit();

deposit.addEventListener('click', () => {
  let value = input.value;
  newDeposit.addDeposit(value)
})
<input id="input">
<button id="deposit">Deposit</button>

答案 2 :(得分:0)

如果我理解您的问题,则必须编写newDeposit = new Deposit();退出箭头功能,否则您将覆盖对象...

一个例子:

Anaconda (Conda)

希望这会有所帮助