Tengo una función que devuelve un elemento html como addSpan(times) , ¿hay alguna forma de devolver este elemento tantas veces como se especifica en los items del parámetro?
¡vainilla js es bienvenida!
function addSpan(times){ const span = `<span>This is a span</span>` return span } $("body").append( addSpan(2) ) //is supposed to add 2 spans <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.6.0.js"></script> </head> <body> </body> </html>Utilice la función Array.map().
function addSpan(times){ const spans = [...Array(times)].map(val => "<span>This is a span</span>").join('') return spans }rendimiento de uso
function* addSpan(times){ for(var i=0; i < times; i++){ const span = document.createElement('span'); span.innerText = "Some text" ; yield span; } } for (let element of addSpan(2)) { $("body").append(element) } <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-3.6.0.js"></script> </head> <body> </body> </html>Sí. Posible.
Como esto:
function addSpan(count) { let result = ""; for (var i = 0; i < count; i++) { result += "<span>This is a span</span>"; } return result; }