Я пытаюсь отформатировать строку с динамическим набором результатов.Я использую оператор backtick (шаблон), но он работает только с одним рычагом.поскольку у нас сложная структура вложенных данных, сложно форматировать вложенную строку уровня с помощью шаблона.
Фактический результат:
"formattedSting": "format1 ${a}, ${b}, ${c}"
Ожидаемый результат:
"formattedSting": "format1 av1, bv1, cv1"
Любая идея, какрешить эту проблему без eval или простого метода замены.
// mockSteps - coming from static ts file and m not able to replace quot(") with backtick(`)
mockSteps = {
'steps': [{
'id': 1,
'format': "format1 ${a}, ${b}, ${c}"
},{
'id': 2,
'format': "format2 ${a}, ${c}"
},{
'id': 3,
'format': "format3 ${b}, ${a}"
}]
};
list = [
{a:'av1',b:'bv1',c:'cv1'},
{a:'av2',b:'bv2',c:'cv2'}
];
resultList = [];
list.forEach((lst) => {
const {a, b, c } = lst;
const formatObj = mockSteps['steps'][0].format;
result = {
keyword : '...',
// formattedSting : eval('`' + formatObj + '`'),
formattedSting : `${formatObj}`
};
resultList.push(result);
});
console.log(resultList);