Javascript 尝试基于扩展名';从对象中提取数据;从另一个文件接收到的
我正在努力找到一种不使用eval函数而将字符串值作为对象执行的方法。让我来介绍一些背景知识,让它更有意义。 我从一个名为tempArray的对象中提取数据。我已经准备好了Javascript 尝试基于扩展名';从对象中提取数据;从另一个文件接收到的,javascript,reactjs,Javascript,Reactjs,我正在努力找到一种不使用eval函数而将字符串值作为对象执行的方法。让我来介绍一些背景知识,让它更有意义。 我从一个名为tempArray的对象中提取数据。我已经准备好了 tempArray.values= { "data": { "nonEditable": [ { "name": "organization Name", "valu
tempArray.values= {
"data": {
"nonEditable": [
{
"name": "organization Name",
"value": "Name of organization /"
},
{
"name": "Description",
"value": ""
},
...
]}}
我正在尝试这样做,以便可以从另一个名为FieldLength的文件中动态获取tempArray.values的扩展名,以便将来可以很容易地更改从中提取数据的位置
const FieldLengths = (field) => {
var length, dataLocations
switch (field){
case 'Department':
length = 40
dataLocations = ['data.nonEditable[0].name', 'data.editable[0].name' ]
break
我目前正在使用这样的嵌套循环来尝试实现我的目标
for(var k=0; k<tempArray.length; k++){
tempArray[k].selectionValues = []
for(var i=0; i<Fields.length; i++){
dataLocations[i] = FieldProperties(Fields[i])[1]
for(var j=0; j<dataLocations[i].length; j++){
console.log(dataLocations[i][j]) //'data.nonEditable[0].name'
let tempVal = 'tempArray[' + k '].values' + dataLocations[i][j]
console.log(tempVal) //'tempArray[0].values.data.nonEditable[0].name'
//I am trying to call that string value but don't know how without using eval()
}
}
}
for(var k=0;k