如何在javascript中打印函数内部的参数值?

时间:2017-10-12 17:13:05

标签: javascript

我正在尝试使用以下要求创建一个函数 pluralizeParam(n,word,pluralWord)

  • 如果n为1,则返回非复数字(参数字);否则,在复数字中加“s”;
  • 如果提供了pluralWord参数,而不是添加“s”,则返回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 。我怎么做? 感谢

1 个答案:

答案 0 :(得分:2)

word.length - 2永远不能等于"es"。你还需要重新安排你的陈述,第二个已经被1抓住了。

当你使用word.lastIndexOf('s')时(我认为这是错误的逻辑),它会返回s字符的最后一个索引,而不是它在s上的结束。

您可以检查String#endsWithString#startsWith方法,这些方法检查字符串是否以给定部分开头或结尾

const str = 'less';
console.log(str.endsWith('s'))