当前位置: 首页 > 知识库问答 >
问题:

在循环中生成变量的名称[重复]

袁智明
2023-03-14

我有一些变量的名字以数字结尾。现在我需要在一个循环中更改它们的值。
不是把所有的变量放入循环中,我想知道是否有一种方法可以在循环中生成变量的名称?也许是这样的?

let bla1 = 0
let bla2 = 1
let bla3 = 2
...

for(var i = 0; i<somearray.lenght; i++){
  bla[i] += 1
}

我很确定我在什么地方见过类似的东西。做这件事最好的方法是什么?

共有2个答案

罗昱
2023-03-14

您不能在循环中生成变量名,但可以使用对象属性来实现所需的结果:

const variables = {}

for(var i = 0; i < somearray.length; i++){
  variables[`bla${i}`] = i
}

// later can be accessed like
console.log(variables.bla1)
欧阳俊明
2023-03-14

您正在考虑一个数组:

let bla = [0, 1, 2];

for (let i = 0; i < bla.length; i++) {
  bla[i] += 1;
}
 类似资料:
  • 我是最近一个R的转换者,正在努力寻找下面的R等价物:循环使用一个公共前缀加上一个数字(var1,var2,...,varn)命名的变量。 假设我有一个数据集,其中每行是一个商店,每列是该商店在第1个月、第2个月...第6个月的收入值。一些虚构的数据,例如: 你能提出一个适当的方法吗?

  • 问题内容: 如何使用列表中的名称创建新变量?这个: 当然不行。我该怎么办? 我想做这个: 问题答案: 我认为更适合此目的: 但是,如果您仍然想即时创建变量,则可以使用:

  • 问题内容: 如何使用循环命名变量?例如,如果我想让变量 double_1 = 2 , double_2 = 4 一直到 double_12 = 24 ,我该怎么写?我感觉会是这样的: 显然,这是行不通的,但是将循环号实现为变量名的正确语法是什么?我已经有一段时间没有编码了,但是我确实记得有一种方法可以做到这一点。 问题答案: 请改用字典。例如: 或者,如果您 绝对 必须 这样做 ,并且仅在完全了解

  • 我想自动为我的存储创建一个新变量。 它的工作原理应该是: 如果var_count是例如4,它应该生成一个名为var4的变量。

  • 我试图用随机数创建10个变量,所有变量都以同一个单词开头,比如: -Foo1 -Foo2 -Foo3 -Foo4 我正在努力的是: 但是我不能让这个工作。 你们知道如何解决这个问题吗? 提前谢谢!

  • 问题内容: 在Java中,我们不能与另一个具有相同名称的变量在同一作用域中声明一个变量: 语法错误,无法编译。但是,如果我们将其放入循环中: 不产生错误,效果很好。我们基本上是在声明相同的变量。是什么原因?在此背后我不知道/不了解的逻辑是什么? 问题答案: 考虑一下这种方式,在每个循环之后,作用域被“破坏”,变量消失了。在下一个循环中,将创建一个新的作用域,并且可以在该作用域中再次声明该变量。 由