3 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊
問題描述有點(diǎn)亂,我理解你的問題大概是這個(gè)意思:
你需要寫一段類似這樣的代碼:
this.setData({
labelAV: labelA,
result1AV: result1A,
result2AV: result2A,
result3AV: result3A,
result4AV: result4A,
result5AV: result5A,
result6AV: result6A,
result7AV: result7A,
result8AV: result8A,
result9AV: result9A
})
但是對(duì)象很長,并且鍵名和對(duì)應(yīng)的變量名都有規(guī)律,所以想問問有什么簡(jiǎn)單的方法?
其實(shí)有辦法的,但是我們一般不會(huì)這樣寫。
可以用eval來實(shí)現(xiàn):
const codes = [ `labelAV: labelA` ];
for ( let i = 0; i < 10; i++ ) {
codes.push( `result${i}AV: result${i}A` );
}
eval( `this.setData( { ${codes.join( ',' )} } )` );
但是建議不要這樣寫代碼,也不要定義一堆resultxA之類的變量,你可以用一個(gè)數(shù)組來保存它們,這樣就會(huì)好處理很多

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
let resultA = Array(10).fill(0).map((_, i) => this.data[`result${i}AV`])
添加回答
舉報(bào)