gpt4 book ai didi

javascript - 在所有数组元素之间添加 'commas' 分隔符,在最后一个数组元素之前添加 'and'

转载 作者:行者123 更新时间:2023-11-30 08:23:45 27 4
gpt4 key购买 nike

我试图在用“逗号”分隔的一行中显示数组的数组项,但最后一个数组项前面应该有“and”,并且应该在最后一个元素的末尾添加一个句号。

例如:

var cars = new Array("Saab", "Volvo", "BMW", "ZEST", "Audi");

应显示为 Saab、Volvo、BMW、ZEST 和 Audi。

var cars = new Array("Saab", "Audi");

如果只有 2 个项目,那么它应该显示为 Saab 和 Audi。

var cars = new Array("Saab");

如果只有 1 个项目,它应该显示为 Saab。

数组长度是动态的,但应遵循上述格式,即所有数组项应以逗号分隔,但倒数第二个数组项和最后一个数组项之间应有“and”。

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/

我无法完成这个。你能帮忙吗?

最佳答案

使用slice 获取数组中除最后一个字符串之外的所有字符串,并用逗号连接它们;然后在数组中添加“和”以及最后一个字符串。

function listStrings(arr) {
if (arr.length <= 1) {
return arr[0] + ".";
}
return arr.slice(0, -1).join(", ") + " and " + arr.at(-1) + ".";
}

console.log(listStrings(['A', 'B', 'C', 'D']));
console.log(listStrings(['A', 'B']));
console.log(listStrings(['A']));

关于javascript - 在所有数组元素之间添加 'commas' 分隔符,在最后一个数组元素之前添加 'and',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49246597/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com