Javascript 指定字符串的变量值
我不熟悉Javascript——我尝试过在web上搜索,但无法将这种情况转化为上下文 情况如下:Javascript 指定字符串的变量值,javascript,variable-assignment,Javascript,Variable Assignment,我不熟悉Javascript——我尝试过在web上搜索,但无法将这种情况转化为上下文 情况如下: import * as People from ./People.json import * as Education from ./Education.json import * as Vehicle from ./Vehicle.json ... function transpose(str : string) { let data = {}; if(validate(str)) //
import * as People from ./People.json
import * as Education from ./Education.json
import * as Vehicle from ./Vehicle.json
...
function transpose(str : string) {
let data = {};
if(validate(str)) //validate function returns true if valid string
data = str //data takes in the string value and uses variable name
runFile(data); //runFile expects data to be a JSON type
...
}
基本上,如何将str(字符串变量转换为变量)转换为变量?如果假设str=“People”
,那么数据将等于变量People
,或者如果str=“Vehicle”
数据将是Vehicle
变量
我知道这可以通过一张{“人”:人,“车”:车}的地图来实现。看起来应该有更好的方法吗?我也研究了eval(str),但这似乎不起作用
任何帮助都将不胜感激
谢谢地图确实是最好的方式。好消息是,您可以使用速记属性名称(ES2015)保存一些击键:
“地图”确实是最好的方式。好消息是,您可以使用速记属性名称(ES2015)保存一些击键:
如果希望将JSON作为参数传递给转置函数,则此函数非常有用
function transpose(jsonObj, str) {
let data = {};
if(validate(str))
{
data = jsonObj[str];
runFile(data); //runFile expects data to be a JSON type
}
...
}
如果希望将JSON作为参数传递给转置函数,则此函数非常有用
function transpose(jsonObj, str) {
let data = {};
if(validate(str))
{
data = jsonObj[str];
runFile(data); //runFile expects data to be a JSON type
}
...
}
我看到的唯一好方法是使用对象和括号表示法。Eval几乎从来都不是一个好主意。@Li357所以你的意思是
data=[str]
?不,mpen回答的唯一好方法是使用对象和括号表示法。评估几乎从来都不是一个好主意。@Li357那么你的意思是data=[str]
?不,mpen的回答是啊,我希望这不是解决办法。。非常感谢@mpen+ES2015Ahh上的指针,我希望这不是解决方案。。非常感谢@mpen+ES2015上的指针