我希望能够基本上做到这一点
let x = 1;
let `arr${x}`;
if ((i = 0)) `arr${x}` = [];
`arr${x}`.push(words);
console.log(`arr${x}`);
我尝试过使用
eval()
let x = 1;
eval(`let arr${x}`);
if ((i = 0)) eval(`arr${x} = [];`);
eval(`arr${x}.push(${words})`);
console.log(eval(`arr${x}`));
但它给出了一个错误: 未捕获的引用错误:arr1 未定义 在这一行中: eval(
arr${x}.push(${words})
);
你不能用变量来做到这一点,但你可以用对象属性很好地做到这一点。如果您创建它的对象恰好是全局对象(在浏览器中
window
),这也将创建一个全局变量:
let x = 1, words = "some words here", i = 0;
window[`arr${x}`] = undefined;
if (i===0) window[`arr${x}`] = [];
window[`arr${x}`].push(words);
console.log(window[`arr${x}`]);
console.log(arr1);