Ein Array kann mit vue.js nicht in ein Array kopiert werden

Oct 29 2020

Ich habe eine Mehrfachauswahlbox mit der vuetify-Auswahlkomponente. Ich erhalte ein Array ausgewählter Elemente und möchte den Status für ausgewählte Elemente als wahr zusammenführen, z. B. wenn [ { "ward": 1, "status": true }, { "ward": 2, "status": true} ]ich versuche, ausgewählte Elemente des Arrays in ein anderes Array zu kopieren, dies jedoch nicht erfolgreich war. In der Konsole habe ich die folgenden Früchte ausgewählt.

 methods: {
    save() {
      console.log(this.selectedFruits);
      debugger;    
      this.selectedIndex.push({ ward: this.selectedFruits, status: true });
      console.log(this.list);
    },

Antworten

1 beingyogi Oct 29 2020 at 08:55

Sie können dies versuchen

save(){
  this.list = []
  this.selectedFruits.forEach(e => {
      this.list.push({ ward: e, status: true });
    });
    console.log(this.list)
}
IlyaDegtyarenko Oct 29 2020 at 08:08

Wenn Sie ein Array oder Objekt kopieren möchten, ohne es als Referenz zu übergeben, gehen Sie folgendermaßen vor

const newArray = JSON.parse(JSON.stringify(oldArray));
S.Visser Oct 29 2020 at 08:17

Hierfür können Sie den Spread-Operator verwenden .

Hier ein Beispiel:

const existingArr = [{ hi: 'foobar' }];
const arr = [{ a: 'foo', b: 'bar'}, { a: 'hello',  b: 'world'}]
const newArr = [...existingArr, ...arr]

console.log(newArr)