Javascript how to show each element of array on a new line

Leron_says_get_back_Monica picture Leron_says_get_back_Monica · Jun 11, 2012 · Viewed 75.9k times · Source

I have a string build form comma separated values I use split to get each value and after that I want to show each value on a new line but what really happens is that I get each value on a new line except of the last two which are shown together on a same line. Just to make it clear:

value1

,value2

,value3

,value4,value5

Here is the function which I'm using:

_checkDates: function(dates) {
        if (dates != null)
        {
            var zzz = dates.split(',');
            var xxx = zzz.length;
            console.log(xxx);
            for (var i=0; i<=xxx; i++)
                {
                    zzz[i] = zzz[i] + '<br />';
                    return zzz;
                }
        }
        return dates;
    }

Just to be clear this is written in ExtJS 4, I'm almost sure that in this case the problem is pure JavaScript and is not related with ExtJS 4 but anyways, maybe I'm wrong.

So any ideas why does it happen and how I could make that last elemnt to get on a new line as well?

Thanks

Leron

Answer

VIJAY P picture VIJAY P · Nov 21, 2015

i have modified your function bit cleaner.since already stefan mentioned your mistake.

function splitDate(dates) {
        if (dates != null)
        {
            var dates = dates.split(',');
            var xxx = dates.length;
            console.log(xxx);
            for (var i=0; i<xxx; i++)
                {
                    dates[i] = dates[i];                    
                }
        }
        console.log(dates.join('\r\n'));
        return dates.join('\r\n');        
    }

the above function you can do it in a single line:

if it's an array you can split into new line in following way:

var arr = ['apple','banana','mango'];
console.log(arr.join('\r\n'));

if it's a string:

var str = "apple,banana,mango";
console.log(str.split(',').join("\r\n"));