嘿,我有一个正在研究的学校项目,我很好奇如何在for循环内添加if语句。我的代码要求用户输入他们拥有的宠物的数量,我想将其放入列表中。我可以列出该列表,但是如果用户输入两个单词,我想添加单词“ and”,如果用户在列表中输入3个或更多,则添加逗号。目前,我正在尝试将它们全部编译在一起,但是我的代码中出现错误。
//For loop for pet names
var Petlist = "";
for (cntr = 1; cntr <= parseInt(petnum); cntr++)
{
petID = 'pet' + cntr;
PetName = $(petID).value + ' ';
Petlist += PetName;
}
当前,它将全部组合成一个字符串,例如“ Spot Doug Fido”,但我想将其放入一个字符串中,例如“ Spot,Doug,Fido”。同样,我希望将两个名称列为“ Spot and Fido”,而不是现在的“ Spot Fido”。
答案 0 :(得分:0)
将字符串分割成空格,然后检查结果数组的长度并返回生成的结果。
const list1 = "Spot";
const list2 = "Spot Doug"
const list3 = "Spot Doug Fido"
const splitAndJoin = string => {
const stringArray = string.split(" ");
switch (stringArray.length) {
case 0:
case 1:
return string; // original string
case 2:
return stringArray.join(' and ');
default:
return stringArray.join(', ');
}
}
console.log(splitAndJoin(list1)); // Spot
console.log(splitAndJoin(list2)); // Spot and Doug
console.log(splitAndJoin(list3)); // Spot, Doug, Fido