JavaScript中if-else语句的替代方法
下面的代码工作正常,但是我假设有一种更有效的方法来实现逻辑流。目前,我正在编写两次相同的函数,输出字符串中有细微的变化。有人知道用更少的代码实现这种逻辑的方法吗JavaScript中if-else语句的替代方法,javascript,if-statement,Javascript,If Statement,下面的代码工作正常,但是我假设有一种更有效的方法来实现逻辑流。目前,我正在编写两次相同的函数,输出字符串中有细微的变化。有人知道用更少的代码实现这种逻辑的方法吗 if (result <= 1) { document.getElementById('output').innerText = Math.ceil(result) + " roll of wallpaper"; } else { document.getElementById('output').innerTex
if (result <= 1) {
document.getElementById('output').innerText = Math.ceil(result) + " roll of wallpaper";
}
else {
document.getElementById('output').innerText = Math.ceil(result) + " rolls of wallpaper";
}
如果(结果可以是:
var s = (result <= 1) ? 's' : '';
document.getElementById('output').innerText = Math.ceil(result) + ' roll'+s+' of wallpaper';
var s=(结果您可以事先构建差异并手动添加:
var s = ( result <= 1 ? 's' : '' );
document.getElementById('output').innerText =
Math.ceil(result) + " roll" +s+ " of wallpaper";
var s=(结果)对更改的部分使用一个额外的变量。有条件地初始化它,然后在所有情况下都通用的部分中使用它。哇,有很多相同的答案可供选择。没问题。请确保将最后使用的一个标记为其他用户的解决方案。
var displayResult = Math.ceil(result);
var s = ( result <= 1 ? 's' : '' );
document.getElementByid('output').innerText =
`${displayResult} roll${s} of wallpaper`;
document.getElementById('output').innerText = [
Math.ceil(result),
' roll',
result > 1 ? 's' : '',
' of wallpaper'].join('')