我试图在一行中显示一个数组的数组项,除以'逗号',但最后一个数组项应该以'和'开头,并且应该在最后一个元素的末尾添加一个句号。
例如:
var cars = new Array("Saab", "Volvo", "BMW", "ZEST", "Audi");
应显示为萨博,沃尔沃,宝马,ZEST和奥迪。
var cars = new Array("Saab", "Audi");
如果只有2个项目,那么它应显示为萨博和奥迪。
var cars = new Array("Saab");
如果只有1个项目,则应显示为 Saab。
数组长度是动态的,但它应该遵循上面的格式,即所有数组项应该用逗号分隔,但第二个最后一个数组项和最后一个数组项之间应该有'和'。
var cars = new Array("Saab", "Volvo", "BMW", "ZEST", "Audi");
for (i = 0; i < cars.length; i++) {
var total = cars.length;
var lastbut = total - 1;
var disp;
var addand = "";
if (i != cars.length - 1) {
disp = ", "
} else {
addand = "and "
disp = "."
}
document.write(addand + cars[i] + disp);
}
https://jsfiddle.net/f01ph8pa/2/
我无法完成此操作。你能帮忙吗?
答案 0 :(得分:4)
使用slice
获取数组中除最后一个字符串外的所有字符串,并使用逗号join
获取它们;然后添加&#34;和&#34;和数组中的最后一个字符串。
function listStrings(arr) {
if (arr.length <= 1) {
return arr[0] + '.';
}
return arr.slice(0, arr.length - 1).join(", ") + ' and ' + arr[arr.length - 1] + '.';
}
listStrings(['A', 'B', 'C', 'D']); // returns "A, B, C and D."
listStrings(['A', 'B']); // returns "A and B."
listStrings(['A']); // returns "A."
答案 1 :(得分:1)
以下方式怎么样?首先用逗号连接数组元素,然后用'和'替换最后一个逗号。
src='/profiles_images/***.png'