首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环中的Javascript动态变量名

循环中的Javascript动态变量名
EN

Stack Overflow用户
提问于 2018-08-20 12:00:43
回答 3查看 703关注 0票数 2

我不知道如何在JS中使用动态变量。我有一个滚动条列表,一些余额关联,我想在我的循环中动态显示每个‘平衡贴纸’。但是它似乎根本没有使用我添加到变量中的append?

代码语言:javascript
复制
var ticker = [CURRENCY1,CURRENCY2,CURRENCY3];
var balancesCURRENCY1 = 20;
var balancesCURRENCY2 = 30;
var balancesCURRENCY3 = 40;

for (var tick in ticker) {

  if (('balances'+ticker[tick]) != 0) {
    console.log(true);
  }     

}
EN

回答 3

Stack Overflow用户

发布于 2018-08-20 12:09:13

要使用动态变量,请将variableNames保留在对象中,无论何时动态创建变量名称,都要引用该对象以获取变量的值。

代码语言:javascript
复制
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);
  }     

}

票数 2
EN

Stack Overflow用户

发布于 2018-08-20 12:10:09

首先,您必须在数组中引用名称:[CURRENCY1,CURRENCY2,CURRENCY3],否则它们将被作为变量处理。

然后,您可以从this访问您的动态名称,请参阅以下代码片段:

代码语言:javascript
复制
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
    );
  }     

}

票数 1
EN

Stack Overflow用户

发布于 2018-08-20 12:07:45

维护2个并行数组会更干净

代码语言:javascript
复制
var ticker = ['CURRENCY1','CURRENCY2','CURRENCY3'];
var balances = [20, 30, 40];

或对象数组:

代码语言:javascript
复制
var tickerInfo = [
  {currency: 'CURRENCY1', balance: 20},
  {currency: 'CURRENCY2', balance: 30},
  {currency: 'CURRENCY3', balance: 40},
];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51923992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档