Javascript 有没有办法将参数传递到json数据调用中?

Javascript 有没有办法将参数传递到json数据调用中?,javascript,json,reactjs,Javascript,Json,Reactjs,有没有办法将参数传递到函数中并使用它动态访问json数据?(假设我所有的语法都是正确的。我只是想知道这是否可能) 我使用React尝试将参数传递到函数组件中,并从json文件中获取数据,为需要使用的每个密钥对键入{component(thing1)},而不是{component({jsondata.thing1.greeting},{jsondata.thing1.closing})。我已经可以访问所有的数据了,我宁愿在组件文件中调用所有的数据,并传入一个与我需要的对象相对应的参数,而不是将每个

有没有办法将参数传递到函数中并使用它动态访问json数据?(假设我所有的语法都是正确的。我只是想知道这是否可能)

我使用React尝试将参数传递到函数组件中,并从json文件中获取数据,为需要使用的每个密钥对键入{component(thing1)},而不是{component({jsondata.thing1.greeting},{jsondata.thing1.closing})。我已经可以访问所有的数据了,我宁愿在组件文件中调用所有的数据,并传入一个与我需要的对象相对应的参数,而不是将每个键作为一个单独的参数传入

这就是我的想法:

//json data
{
    jsondata: {
        thing1: {
            greeting: "Hey"
            closing: "Bye"
        }
        thing2: {
            greeting: "Sup"
            closing: "See ya"
        }
        thing3: {
            greeting: "Yo"
            closing: "Farewell"
        }
    }
}

// js file
function = (INSERT) => {
    console.log ({data.INSERT.greeting}, {data.INSERT.greeting})
}

function(thing1) //should return "Hey, Bye"
function(thing2) //should return "Sup, See ya"

如果要指定动态键,可以使用方括号语法。 例如:
json\u数据[动态密钥]

function = (INSERT) => {
    console.log ({data[INSERT].greeting}, {data[INSERT]greeting})
}
你要找的是括号符号
[]
这些允许您动态地从以下对象获取数据:

key = 'a string'
object = {
  'a string': 412123,
  'another one': 440
}

console.log(object[key])
console.log(object['another one'])
您使用的是点表示法
属性访问器。试试这个

const yourFunction = (INSERT) => console.log({data[INSERT].greeting}, {data[INSERT].greeting})