我正在尝试使用以下要求创建一个函数 pluralizeParam(n,word,pluralWord):
到目前为止,我所做的是:
function returnPluralWord(n, word, pluralWord) {
if (n === 1) {
return word;
} else if (n === 1 && (word.lastIndexOf("s")) || (word.lastIndexOf("ess"))) {
return word + "s";
} else if (n !== 1 && word.length - 2 === "es") {
return word + "s";
} else if (pluralWord !== 'undefined') {
return pluralWord;
}
}
var result = returnPluralWord(2, "lioness", "lionesses");
console.log(result);
我的问题是:它没有打印 pluralWord 。我怎么做? 感谢
答案 0 :(得分:2)
word.length - 2
永远不能等于"es"
。你还需要重新安排你的陈述,第二个已经被1抓住了。
当你使用word.lastIndexOf('s')
时(我认为这是错误的逻辑),它会返回s
字符的最后一个索引,而不是它在s
上的结束。
您可以检查String#endsWith和String#startsWith方法,这些方法检查字符串是否以给定部分开头或结尾
const str = 'less';
console.log(str.endsWith('s'))