JohnHenry
JohnHenry

Reputation: 39

I want to concatenate an index in a for loop

I know very little about javascript, but I need to do the following to include in a PHP website that I have written, where the data has to be put in a pipe delimited string. I have made a sample script which does the job..

var data_0="a";
var data_1="b";
var data_2="c";
var data_3="d";
var all="";
all = all + "|" + (data_0);
all = all + "|" + (data_1);
all = all + "|" + (data_2);
all = all + "|" + (data_3);
alert( all );

The problem is that there will be 50 or more data items. I therefore want to use a for loop to do it, and I tried this which is clearly not right..

var data_0="a";
var data_1="b";
var data_2="c";
var data_3="d";
var all="";
for (var i = 0; i <= 3; i++)
{
all = all + "|" + (data_ + i);
}
alert( all );

Can someone explain how it should be done?

Upvotes: 0

Views: 54

Answers (2)

mscdeveloper
mscdeveloper

Reputation: 2889

var data_0="a";
var data_1="b";
var data_2="c";
var data_3="d";
var all="";
for (var i = 0; i <= 3; i++)
{
all = all + "|" + eval("data_" + i);
}
alert( all );

Upvotes: 0

Rounin
Rounin

Reputation: 29511

Rather than multiple variables, you need a single array:

var data = ['a', 'b', 'c', 'd'];

To join all the elements of the array, use .join().

var all = data.join(', ');

Working Example:

var data = ['a', 'b', 'c', 'd'];
var all = data.join(', ');
console.log(all);


N.B. Since you are more familiar with PHP than with javascript, these two lines in javascript:

var data = ['a', 'b', 'c', 'd'];
var all = data.join(', ');

are the equivalent of these two lines in PHP:

$Data = array('a', 'b', 'c', 'd');
$All = implode(', ', $Data);

Upvotes: 1

Related Questions