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