如何在NodeJS中创建动态变量名?一些例子说要存储在window
变量中,但我假设这是客户端Javascript。如果我错了,请纠正我。
答案 0 :(得分:18)
通常你会做类似的事情:
var myVariables = {};
var variableName = 'foo';
myVariables[variableName] = 42;
myVariables.foo // = 42
答案 1 :(得分:6)
在node.js中有global
上下文,它等同于客户端js中的window
上下文。在普通Javascript中声明任何闭包/函数/模块之外的变量将使其驻留在全局上下文中,即作为global
的属性。
我从你的问题中了解到你想要的东西类似于以下内容:
var something = 42;
var varname = "something";
console.log(window[varname]);
这在node.js中会变成:
var something = 42;
var varname = "something";
console.log(global[varname]);
答案 2 :(得分:0)
只是不知道什么坏答案会得到这么多的选票。答案很简单,但要使其复杂。
var type = 'article';
this[type+'_count'] = 1000; // in a function we use "this";
alert(article_count);
答案 3 :(得分:0)
一种可能的解决方案可能是:
使用{{3}},可以创建一个数组并将每个动态变量(REST参数项)添加为该数组的对象。
import copy
import random
list = ['a', 'b' , 'c', 'd']
list2 = copy.deepcopy(list)
random.shuffle(list2)
for i in list2:
# i is now a random item from original list
do_something(i)