如何在函数的返回命令中输入变量?

时间:2018-08-13 10:20:44

标签: javascript

由于我在任何地方都找不到,我会尽力解释。

我正在制作一个简单的骰子滚动脚本。

function rollDice(number, sides) {
    return("Rolled (number) (sides) sided dice")
}

因此,当我输入示例rollDice(1,5)的命令时,我希望它输入“滚动一个五个侧面的骰子”,但是我不知道如何将(数字,侧面)输入到return命令中。

编辑:问题已经回答,我用过这个

var names = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty'];

function rollDice(number, sides) {
    return("Rolled "+ names[number] +" "+ names[sides] +" sided dice");
}

将数字转换为单词,并在“ return”命令中输入(数字,两面)。

如果有人回头看这个问题,我还有另一个问题,我想在新函数中输入上一个函数的参数,但是它返回错误:

function randomNum(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function randomDice(number, sides) {
    randomNum(+number+, +sides+);
}

randomDice(1, 5)

给我错误的部分是:

function randomDice(number, sides) {
    randomNum(+number+, +sides+);
}

感谢您的帮助

2 个答案:

答案 0 :(得分:-2)

您可以使用Template Literals。另外,您将需要具有1 to one的映射,依此类推。

function rollDice(number, sides) {
  const mapping = ['one', 'two', 'three', 'four', 'five', 'six'];
  return (`Rolled ${mapping[number-1]} ${mapping[sides-1]} sided dice`);
}

console.log(rollDice(1, 5));

答案 1 :(得分:-2)

只需在参数之前和之后使用+运算符就可以很容易地将这些参数输入到return语句中,如下所示:-

function rollDice(number, sides) {
    return "Rolled " + number +  " " + sides +" sided dice";
}

,您还可以使用integerValue.toString()(例如5.toString()或代码number.toString())将整数更改为字符串。