function arr(a) { let sum = ""; for (let i = 0; i < a.length; i++) { sum += a[i] + "-"; } console.log(sum); } arr(["Hello", "World", "!"]);Está imprimiendo "-" después de "!" también
Simplemente use el operador ternario para determinar la representación del último guión
function arr(a){ let sum= ""; for(let i=0; i<a.length; i++){ i === a.length-1 ? sum+=a[i] : sum+= a[i]+"-"; } console.log(sum); } arr(["Hello","World","!"]);Creo que solo necesita agregar una condición para el último elemento. Por ejemplo
function arr(a){ let sum= ""; for(let i=0; i<a.length; i++){ sum+= a[i] + ((i<a.length-1) ? "-" : ""); } return sum } const result = arr(["Hello","World","!"]); console.log(result)O es más ordenado con reducción de matriz
const join = (arr, separator) => { return arr.reduce((prev, current)=> prev + separator + current) } const rs =join(["Hello", "World", "!"], "-") console.log(rs)Mismo resultado
"Hello-World-!"puedes hacer esto de la siguiente manera
function arr(a,glue='') { let sum = ""; let i=0; for (i = 0; i < a.length-1; i++) { sum += a[i] + glue; } sum+=a[i]; return sum; } console.log(arr(["Hello", "World", "!"],"-"));