使用Vue.js的方法内的For循环 [英] For loop inside a method using Vuejs
问题描述
我在Vuejs中有一个方法,可以根据选择来更新一组变量.
I have a method in Vuejs which updates a set of variables based on a selection.
methods: {
updateChart(){
this.chart1.series[1].data = [this.$store.state.selectedcities[0].value[1]];
this.chart1.series[2].data = [this.$store.state.selectedcities[0].value[2]];
this.chart1.series[3].data = [this.$store.state.selectedcities[0].value[3]];
this.chart1.series[5].data = [this.$store.state.selectedcities[0].value[5]];
this.chart1.series[7].data = [this.$store.state.selectedcities[0].value[7]];
this.chart1.series[8].data = [this.$store.state.selectedcities[0].value[8]];
this.chart1.series[9].data = [this.$store.state.selectedcities[0].value[9]];
this.chart1.series[11].data = [this.$store.state.selectedcities[0].value[11]];
this.chart1.series[12].data = [this.$store.state.selectedcities[0].value[12]];
this.chart1.series[13].data = [this.$store.state.selectedcities[0].value[13]];
this.chart1.series[14].data = [this.$store.state.selectedcities[0].value[14]];
this.chart1.series[16].data = [this.$store.state.selectedcities[0].value[16]];
this.chart1.series[17].data = [this.$store.state.selectedcities[0].value[17]];
this.chart1.series[18].data = [this.$store.state.selectedcities[0].value[18]];
this.chart1.series[20].data = [this.$store.state.selectedcities[0].value[20]];
this.chart1.series[21].data = [this.$store.state.selectedcities[0].value[21]];
this.chart1.series[22].data = [this.$store.state.selectedcities[0].value[22]];
}
问题在于它看起来很冗长,所以我想知道是否可以在其中运行for循环以遍历这些数字的for循环.关键是数字没有顺序.我的意思是该系列的运行方式为 {1,2,3,5,7,8,9,11,12,13,14,16,17,18,20,21,22}
.
The problem is that it looks rather verbose, so I wonder if I can run a for loop there that iterates through those numbers. The thing is that the numbers aren't sequenced. I mean the series runs as {1,2,3,5,7,8,9,11,12,13,14,16,17,18,20,21,22}
.
最后,我要搜索的是这样的东西:
In the end what I'm searching for is something that looks like this:
methods:{
updateChart(){
var n = {1,2,3,5,7,8,9,11,12,13,14,16,17,18,20,21,22}
for(i in n){
this.chart1.series[i].data = [this.$store.state.selectedcities[0].value[i]];
}
}
}
我不太确定该怎么做,因为我对javascript很陌生.
I'm not really sure how to do it as I'm quite new to javascript.
是否可以使用此方法添加嵌套的foreach?例如:
Is it possible to add a nested foreach with this method? For example:
var k = [1,3,6]
var n = [1,2,3,5,7,8,9,11,12,13,14,16,17,18,20,21,22]
n.forEach(i=>{
this.chart[k].series[i].data = [this.$store.state.selectedcities[k].value[i]];
})
请注意,k已添加到公式中,并且n是k的子级.因此,对于每个k,它应该运行n的序列.
Note that k was added to the formula and that n is child of k. So for each k it should run the series of n.
推荐答案
n
应该是一个数组,并使用 forEach 这样的方法遍历它:
n
should be an array and loop through it using forEach method like :
var n = [1,2,3,5,7,8,9,11,12,13,14,16,17,18,20,21,22]
n.forEach(i=>{
this.chart1.series[i].data = [this.$store.state.selectedcities[0].value[i]];
})
ُ编辑
var m = [1,3,6]
m.forEach(k=>{
n.forEach(i=>{
this.chart[k].series[i].data =
[this.$store.state.selectedcities[k].value[i]];
})
})
这篇关于使用Vue.js的方法内的For循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!