我想从带有variable1的dictionnaries(用户输入的字典名称)中获取值(结果)。 请有人知道吗?我会帮助很多,因为我有超过300个词典。 干杯
app.get('/', function (req, res) {
variable1=req.query['variable1']
var dictionnary1 = {one:0.2187, two:0.1148};
var dictionnary2 = {one:0.3257, two:0.1234};
function calculate(){
result=variable1.one
}
计算()
答案 0 :(得分:2)
(旁注:“词典”中只有一个'n'。我猜你已经将你的代码从另一种语言翻译成英语。我来回走动,但我认为这可能是最好的我在此答案的代码部分使用了你的拼写。)
将词典放在一个对象或Map
中,并以词典名称作为键(在get
回调之外执行一次):
// Object
var dictionnaries = {
dictionnary1: {one:0.2187, two:0.1148},
dictionnary2: {one:0.3257, two:0.1234}
};
// Map
var dictionaries = new Map([
["dictionnary1", {one:0.2187, two:0.1148}],
["dictionnary2", {one:0.3257, two:0.1234}]
]);
...然后在get
回调中,使用variable1
查找词典:
// Using an object
var dictionnary = dictionnaries[variable1];
// Using a Map
var dictionnary = dictionnaries.get(variable1);
...并将其作为参数传递给calculate
:
var result = calculate(dictionnary);
... calculate
看起来像(我认为它比这更复杂):
function calculate(dictionnary) {
return dictionnary.one;
}
,例如:
var dictionnaries = {
dictionnary1: {one:0.2187, two:0.1148},
dictionnary2: {one:0.3257, two:0.1234}
};
function calculate(dictionnary) {
return dictionnary.one;
}
app.get('/', function (req, res) {
var variable1 = req.query['variable1'];
var dictionnary = dictionnaries[variable1];
var result = calculate(dictionnary);
// Use `result` in the response...
});