1

我有一个数组:

var countryArray = [];

我通过点击事件动态插入值:

(点击...)

countryArray.push("Australia");

然后最后附加到一个 div 输出:

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

所以我的输出可能是:

Australia,United Kingdom,Finland,Japan.

有什么办法可以插入一些文本,使其输出如下:

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

任何帮助,将不胜感激!

4

3 回答 3

5

这是一种方法:

var countries;

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

$( '#summary-countries' ).append( countries );
于 2013-05-29T13:55:12.297 回答
1

是的,有办法。当您调用.append(reasonsTravelling+'');. 这将转换reasonsTravelling为一个字符串,默认情况下是一个逗号分隔的列表。

您必须改用for循环并遍历数组中的所有项目。一旦你发现迭代器是one before the last index,使用“And”而不是“,”。

这个小提琴应该解释我的想法:http: //jsfiddle.net/v76Bf/

于 2013-05-29T13:51:39.203 回答
-1

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

for (var i=0;i<countryArray.length;i++)
{
if(i==countryArray.length-1)
{
countryArray[i].join(,).push("And");
}
}
于 2013-05-29T14:01:01.993 回答