Implode an array with jQuery/Javascript?

Implode an array with jQuery/Javascript?

Can I implode an array in jQuery like in PHP?

Solutions/Answers:

Solution 1:

You can do this in plain JavaScript, use Array.prototype.join:

arrayName.join(delimiter)

I don’t know of any jQuery function that is any better.

Solution 2:

Like This:

[1,2,3,4].join('; ')

Solution 3:

Array.join is what you need, but if you like, the friendly people at phpjs.org have created implode for you.

Then some slightly off topic ranting. As @jon_darkstar alreadt pointed out, jQuery is JavaScript and not vice versa. You don’t need to know JavaScript to be able to understand how to use jQuery, but it certainly doesn’t hurt and once you begin to appreciate reusability or start looking at the bigger picture you absolutely need to learn it.

Solution 4:

For future reference, if you want to mimic the behaviour of PHP’s implode() when no delimiter is specified (literally just join the pieces together), you need to pass an empty string into Javascript’s join() otherwise it defaults to using commas as delimiters:

var bits = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'];
alert(bits.join());    // H,e,l,l,o, ,W,o,r,l,d
alert(bits.join(''));  // Hello World

Solution 5:

Use join() method creates and returns a new string by concatenating all of the elements in an array.

Related:  how to set value of a input hidden field through javascript?

Working example

var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);

Solution 6:

We can create alternative of implode of in javascript:

function my_implode_js(separator,array){
       var temp = '';
       for(var i=0;i<array.length;i++){
           temp +=  array[i] 
           if(i!=array.length-1){
                temp += separator  ; 
           }
       }//end of the for loop

       return temp;
}//end of the function

var array = new Array("One", "Two", "Three");


var str = my_implode_js('-',array);
alert(str);