Javascript jQuery在数组的最后一个元素之前添加文本

Javascript jQuery在数组的最后一个元素之前添加文本,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组: var countryArray = []; 我正在使用单击事件动态插入值: (点击…) 然后最后附加到div以进行输出: $('#summary-countries').append(countryArray+''); 因此,我的输出可以是: Australia,United Kingdom,Finland,Japan. 是否有任何方法可以插入一些文本,使其输出如下: Australia,United Kingdom,Finland **AND** Japan. 任何帮

我有一个数组:

var countryArray = [];
我正在使用单击事件动态插入值:

(点击…)

然后最后附加到div以进行输出:

$('#summary-countries').append(countryArray+'');
因此,我的输出可以是:

Australia,United Kingdom,Finland,Japan.
是否有任何方法可以插入一些文本,使其输出如下:

Australia,United Kingdom,Finland **AND** Japan.

任何帮助都将不胜感激

是的,有办法。调用
.append(reasonStraveling+'')时,您依赖于数组的内置序列化。这将
reasonstraveling
转换为字符串,默认情况下,该字符串是逗号分隔的列表

您必须使用
for
循环,并遍历数组中的所有项。一旦发现迭代器位于最后一个索引之前,请使用“And”而不是“,”


这把小提琴应该可以解释我的想法:

是的,有办法。调用
.append(reasonStraveling+'')时,您依赖于数组的内置序列化。这将
reasonstraveling
转换为字符串,默认情况下,该字符串是逗号分隔的列表

您必须使用
for
循环,并遍历数组中的所有项。一旦发现迭代器位于最后一个索引之前,请使用“And”而不是“,”

这把小提琴应该可以解释我的想法:

这里有一个方法:

var countries;

if( countryArray.length > 1 ) { 
    var last = countryArray.pop();
    countries = countryArray.join(', ')+' and '+last;
}
else {
    countries = ''+countryArray;
}

$( '#summary-countries' ).append( countries );
这里有一个方法:

var countries;

if( countryArray.length > 1 ) { 
    var last = countryArray.pop();
    countries = countryArray.join(', ')+' and '+last;
}
else {
    countries = ''+countryArray;
}

$( '#summary-countries' ).append( countries );

您可以遍历和数组,找到最后一个索引,并在最后一个值之前插入文本

for (var i=0;i<countryArray.length;i++)
{
if(i==countryArray.length-1)
{
countryArray[i].join(,).push("And");
}
}

for(var i=0;i您可以遍历和数组,找到最后一个索引,并在最后一个值之前插入文本

for (var i=0;i<countryArray.length;i++)
{
if(i==countryArray.length-1)
{
countryArray[i].join(,).push("And");
}
}

for(var i=0;i
countryArray.join(‘,’)
countryArray+'
@Eric countryArray在这一点上保证有0或1个元素更可取。我想
countryArray=countryArray.length?countryArray[0]:“”;
会更清晰。
countryArray.join(‘,’)
countryArray+''更可取
@Eric countryArray保证在该点上有0或1个元素。我想
countries=countryArray.length?countryArray[0]:'';更清晰。