JavaScript如何创建动态变量

问题描述

我正在尝试创建动态变量,例如说

let f0,f1 = '';

然后在forEach中使用这些变量

{Object.keys(shop).forEach((element,key) => {
              if (element == dName[0]) {
                f0 = Object.values(shop)[key];
              }           
              if (element == dName[1]) {
                f1 = Object.values(shop)[key];
              }
            })}
        

在下面尝试

let k = 'f'; 
    let i = 0; 
    for(i = 1; i < 2; i++) { 
        eval('let ' + k + i + '= \'\' ;'); 
    } 
    console.log("f1=" + f1); 

但是控制台打印

f1 =未定义

what wrong I am doing,thanks in advance

解决方法

我不知道eval是否可行,但是您可以使用一个对象来存储变量,像这样

let k = 'f'
let vars = {}

for(i = 1; i < 5; i++) { 
  vars[k+i] = '' 
} 
console.log(vars)
console.log("f1=" + vars.f1); 

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...