在if循环中添加if语句

时间:2019-09-17 04:22:20

标签: javascript

嘿,我有一个正在研究的学校项目,我很好奇如何在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”。

1 个答案:

答案 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