suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So durchlaufen Sie ein Array in data()

Ich möchte ein Array in Javascript in Vue iterieren.

Ich verwende ein Scheitelpunktdiagramm. Ich möchte data[] basierend auf der Anzahl der Serien (Y_Data_length) iterieren.

Ich möchte den Code ändern

data() {
      return {
        Y_Data_length: null,
        Options: {
          xaxis: {
            categories: [],
          },
        },
        Series_1: [{
          name: "",
          data: [],
        }],

        Series_2: [{
            name: "",
            data: [],
          },
          {
            name: "",
            data: [],
          }
        ],

        Series_3: [{
            name: "",
            data: [],
          },
          {
            name: "",
            data: [],
          },
          {
            name: "",
            data: [],
          }
        ],
      };
    },

Bilden Sie es.

data() {
      return {
        Y_Data_length: null,
        Options: {
          xaxis: {
            categories: [],
          },
        },
        Series: [
          {name:"", data: []}
        ],
      };
    },

Nur als Referenz, Y_Data_length ist:

const A = this.chart[0].data
this.Y_Data_length = Object.keys(A).length

P粉038161873P粉038161873314 Tage vor580

Antworte allen(1)Ich werde antworten

  • P粉434996845

    P粉4349968452024-03-31 10:11:50

    我不确定是否正确理解了你的问题,但如果你想从特定系列中获取 data 数组,你可以使用 Vue“计算”来使用 Y_Data_length 作为数组索引自动获取正确的series.data 。每当 Y_Data_length 发生变化时,this.currentSeriesData 也会更新。

    export default {
      data () {
        return {
          Y_Data_length: null,
          Options: {
            xaxis: {
              categories: [],
            },
          },
          Series: [
            { name:"series1", data: [] },
            { name:"series2", data: [] },
            { name:"series3", data: [] },
          ],
        };
      },
      computed: {
        currentSeriesData() {
           const currentSeries = this.Series[this.Y_Data_length]
           if (currentSeries) {
             return currentSeries.data
           }
           return []
        }
      }
    }
    

    Antwort
    0
  • StornierenAntwort