我有一个数组:
var countryArray = [];
我正在使用点击事件动态插入值:
(点击...)
countryArray.push("Australia");
然后最后附加到div输出:
$('#summary-countries').append(countryArray+'');
所以我的输出可能是:
Australia,United Kingdom,Finland,Japan.
有什么方法可以插入一些文本,以便输出如下:
Australia,United Kingdom,Finland **AND** Japan.
任何帮助将不胜感激!
答案 0 :(得分:5)
这是一种方式:
var countries;
if( countryArray.length > 1 ) {
var last = countryArray.pop();
countries = countryArray.join(', ')+' and '+last;
}
else {
countries = ''+countryArray;
}
$( '#summary-countries' ).append( countries );
答案 1 :(得分:1)
是的,有办法。当您致电.append(reasonsTravelling+'');
时,您依赖于内置的数组序列化。这会将reasonsTravelling
转换为字符串,默认情况下是逗号分隔列表。
您必须使用for
循环并遍历数组中的所有项目。一旦发现迭代器为one before the last index
,请使用“And”而不是“,”。
这个小提琴应该解释我的想法:http://jsfiddle.net/v76Bf/
答案 2 :(得分:-1)
您可以遍历和数组并查找最后一个索引并在最后一个值之前插入文本。
for (var i=0;i<countryArray.length;i++)
{
if(i==countryArray.length-1)
{
countryArray[i].join(,).push("And");
}
}