У меня есть следующий код, где я пытаюсь сослаться на значения одного JSON объекта с переменными другого:
const ch = {
"columns": {
"COL1": {
"position": 1,
"composites": ["VAR1", "VAR3"]
},
"COL2": {
"position": 3,
"composites": ["VAR2"]
},
"COL3": {
"position": 2,
"composites": ["VAR4"]
}
}
}
const dataset = [{
"VAR1": "alpha",
"VAR2": 2,
"VAR3": "1015",
"VAR4": "z",
},
{
"VAR1": "beta",
"VAR2": 701,
"VAR3": "1023",
"VAR4": "z"
}
]
for (let l = 0; l < dataset.length; l++) {
for (const {
position,
composites
} of Object.values(ch.columns).sort((a, b) => a.position - b.position)) {
console.log(position, composites[0], dataset[l].VAR1)
/* eval[dataset[l].composites[0]], this[dataset[l].composites[0]]*/
}
}
Программа корректно упорядочивает столбцы, и я могу ссылаться на оба значения из 'ch', но я хотел бы использовать первое значение составных элементов в качестве ссылки на переменную для набора данных. Погуглив вопрос, я последовал паре рекомендаций, чтобы использовать «this» или «eval», но ни одна из них не сработала. Где я ошибаюсь?
В идеале, если бы я мог получить закомментированный код, работающий, журнал должен выглядеть следующим образом:
1 VAR1 alpha alpha
2 VAR4 alpha z
3 VAR2 alpha 2
1 VAR1 beta beta
2 VAR4 beta z
3 VAR2 beta 701