将变量分配给字典 Javascript 的值

assign variable to value of Dictionary Javascript

我正在构建字典,但我希望某些值包含变量。有没有办法将变量传递给字典,以便我可以分配一个点符号变量?变量对象将始终具有相同的结构,并且字典将是静态的并且每个键值对的结构相同。本质上我想将字典中的值传递给另一个函数来处理数据。

main.js

import myDictionary from "myDictionary.js"

const variables ={
item:"Hello"
}
const data = myDictionary[key](variables)
console.log(data)


myDictionary.js

const myDictionary = {
key: variables.item
}

所以日志应该显示你好。我知道这会很简单,但似乎无法弄清楚。

一如既往,非常感谢任何帮助

你想做的事是不可能的。 myDictionary.js 文件不知道主文件中有什么。你唯一能做的就是:

myDictionary.js

const myDictionary = {
    key: "item"
}

main.js

import myDictionary from "myDictionary.js";

const variables = {
    item: "Hello"
};

const data = variables[myDictionary["key"]];
console.log(data);

此外,即使 JavaScript 不强制使用分号,它们也会让您免去一些破坏自动插入器的愚蠢规则的麻烦。

您应该修改字典,使其保留实际的回调函数。只有这样它才能接受参数。

const myDictionary = {
  key: (variables) => variables.item
}

const variables = {
  item: "Hello"
}

const key = "key";
const data = myDictionary[key](variables)
console.log(data)

我必须道歉,因为当我问这个问题时,我并不完全清楚我需要什么,但经过一些实验和查看我的边缘案例并查看 Krzysztof 的回答后,我有了一个想法并想出了类似的东西对此 -


const dict = {
 key: (eventData) => {
          return [
            {
              module: 'company',
              entity: 'placement',
              variables: {
                placement_id: {
                  value: eventData.id,
                },
              },
            },
            {
              module: 'company',
              entity: 'placement',
              variables: {
                client_id: {
                  value: eventData.client.id,
                },
              },
            },
          ];
        },
      }

然后我得到这样的数据 -

const data = dict?.[key](eventData)

console.log(data)

然后我可以根据需要导航或操作数据。

感谢所有花时间帮助我的人