3 回答
TA贡献1848条经验 获得超2个赞
问题描述有点乱,我理解你的问题大概是这个意思:
你需要写一段类似这样的代码:
this.setData({
labelAV: labelA,
result1AV: result1A,
result2AV: result2A,
result3AV: result3A,
result4AV: result4A,
result5AV: result5A,
result6AV: result6A,
result7AV: result7A,
result8AV: result8A,
result9AV: result9A
})
但是对象很长,并且键名和对应的变量名都有规律,所以想问问有什么简单的方法?
其实有办法的,但是我们一般不会这样写。
可以用eval来实现:
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之类的变量,你可以用一个数组来保存它们,这样就会好处理很多
TA贡献1850条经验 获得超11个赞
let resultA = Array(10).fill(0).map((_, i) => this.data[`result${i}AV`])
添加回答
举报