function arr(a) {
let sum = "";
for (let i = 0; i < a.length; i++) {
sum += a[i] + "-";
}
console.log(sum);
}
arr(["Hello", "World", "!"]);
It's printing "-" after "!" as well
Just use ternary operator to determine rendering last dash
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","!"]);
I think you only need to add one condition for the last item. For example
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)
Or it's neater with array reduce
const join = (arr, separator) => {
return arr.reduce((prev, current)=> prev + separator + current)
}
const rs =join(["Hello", "World", "!"], "-")
console.log(rs)
Same result
"Hello-World-!"
you can do this as follow
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", "!"],"-"));