有没有办法重构具有相似名称的变量?

时间:2018-03-06 09:05:36

标签: javascript reactjs

const { finalScore1, finalScore2, finalScore3, finalScore4, finalScore5, finalScore6,
        finalScore7, finalScore8, finalScore9, finalScore10, finalScore11, finalScore12,
        finalScore13, finalScore14, finalScore15, finalScore16, finalScore17, finalScore18
 } = this.state

似乎是一种非常干燥的声明变量的方式。有没有办法做类似于finalscore${x}并使用循环?

3 个答案:

答案 0 :(得分:5)

不要将18个键保留为finalScore${x},而应保留像

这样的数组
state = {
   finalScores: []
}

然后您可以访问this.state.finalScores[x]。您还可以遍历finalScores状态数组并获取值

答案 1 :(得分:1)

您可以使用this.state["finalScore" + x]来访问变量

答案 2 :(得分:0)

首先不要将值存储在state的离散属性中;存储一个数组:

// When initializing
this.state = {finalScore: Array.from({length:18}).fill(0)};

然后你可以通过索引轻松遍历访问分数的数组。