我无法弄清楚如何在JS中使用动态变量。我有一个代码清单,关联了一些余额,并且我想动态显示循环中的每个“余额标签”。 但是似乎根本没有使用我添加到变量中的追加?
<ion-content elastic-header="">
<div class="background-image">
<!--The parallax content-->
</div>
<div class="main-content">
<!--The scroll content-->
</ion-content>
答案 0 :(得分:1)
要使用动态变量,请将variableNames保留在对象中,每当您动态创建变量名称时,请引用该对象以获取变量的值。
var ticker = ['CURRENCY1','CURRENCY2','CURRENCY3'];
var allBalances = {
balancesCURRENCY1 : 20,
balancesCURRENCY2 : 30,
balancesCURRENCY3 : 40
}
for (var tick in ticker) {
if (allBalances['balances'+ticker[tick]] != 0) {
console.log(true);
}
}
答案 1 :(得分:1)
首先,您必须在数组中引用名称:[CURRENCY1,CURRENCY2,CURRENCY3]
,否则它们将被视为变量。
然后,您可以从this
访问动态名称,请参见下面的代码段:
var ticker = ['CURRENCY1', 'CURRENCY2', 'CURRENCY3'];
var balancesCURRENCY1 = 20;
var balancesCURRENCY2 = 30;
var balancesCURRENCY3 = 40;
for (var tick in ticker) {
if (this['balances'+ticker[tick]] != 0) {
console.log(
ticker[tick],
'balances'+ticker[tick] + ' = ' + this['balances'+ticker[tick]],
true
);
}
}
答案 2 :(得分:0)
维护2个并行阵列会更清洁
var ticker = ['CURRENCY1','CURRENCY2','CURRENCY3'];
var balances = [20, 30, 40];
或对象数组:
var tickerInfo = [
{currency: 'CURRENCY1', balance: 20},
{currency: 'CURRENCY2', balance: 30},
{currency: 'CURRENCY3', balance: 40},
];