问题描述
我正在尝试创建动态变量,例如说
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);