Heim  >  Fragen und Antworten  >  Hauptteil

„TypeError ..undefiniert“ in der for-Schleife

Ich verwende BootstrapVue.

Was ich tun möchte: Ich habe eine b-form-input, in die ich eine b-form-input ,我在其中写了一个数字。单击我的 b-button 后,我想将其添加到我的 inputs 中。这很好用,但现在我想先检查我的号码是否仍在我的 inputsNummer

schreibe. Nachdem auf meinen B-Button geklickt wurde, möchte ich ihn zu meinen Eingaben hinzufügen. Das funktioniert super, aber jetzt möchte ich zunächst prüfen, ob meine

Nummer noch in meinen Eingaben enthalten ist. inputs 添加某些内容后,我总是收到以下错误:[Vue warn]:v-on 处理程序错误:“TypeError:this.inputs[i] 未定义” “

Frage:

Ich versuche meine for-loop

zu fragen

Ich habe angegeben, dass alles in meinen Daten korrekt ist und ohne this.inputs[0].number es einwandfrei funktioniert. Was ist hier los? Ich kann es nicht herausfinden..

Wenn ich das versuche:

Ich erhalte die richtigen Daten..

Danke, dass du versucht hast, mir zu helfen!

Code in meiner Vorlage:

<b-form-input v-model="number"></b-form-input>
<b-button @click="addSomething(number)"></b-button>

Code in meinem Skript: 🎜🎜
addSomething(number) {
  if(this.inputs != []) {
    for(let i = 0; i <= this.inputs.length; i++) {
      if(number === this.inputs[i].number) {
        console.log("Still existing!");
      } else if(number !== this.inputs[i].number) {
        this.inputs.push({
          INPUT_NUMBER: number,
        })
      }
    }
  }
},
🎜
P粉099145710P粉099145710206 Tage vor399

Antworte allen(1)Ich werde antworten

  • P粉421119778

    P粉4211197782024-03-27 12:29:11

    使用条件 i <= this.inputs.length 您正在超出数组的范围。在 JavaScript 中,对数组进行过度索引会返回 undefined

    固定处理程序应该是:

    addSomething(number) {
      if(this.inputs != []) {
        for(let i = 0; i < this.inputs.length; i++) {
          if(number === this.inputs[i].number) {
            console.log("Still existing!");
          } else if(number !== this.inputs[i].number) {
            this.inputs.push({
              INPUT_NUMBER: number,
            })
          }
        }
      }
    },

    Antwort
    0
  • StornierenAntwort