Имеется такой массив
const dataForHTML = [ { type: "div1", value: "some div value" }, { type: "div1", value: { type: "span2", value: 'span value' } }, { type: "p1", value: { type: 'p2', value: { type: 'p3', value: { type: 'a4', value: 'my link' } } } } ];
Проход по элментам осуществляем с помощью map
, внутри которой вызывается рекурсивная функция htmlIn
const htmlIn = (value) => { if(typeof value.value == 'string'){ console.log(`<${value.type}>`); console.log(`${value.value}`); console.log(`</${value.type}>`); }else{ console.log(`<${value.type}>`); htmlIn(value.value); console.log(`</${value.type}>`); } } const arr = dataForHTML.map((value)=>{ htmlIn(value); })
Практика