返回函数参数与给定数字之间的差异,下边距有限

我这里有这段代码 (JavaScript),似乎我可以在一条指令中重构它,也许使用模数 ( %)?(注意:n总是在0到6之间,其他情况不用处理)


switch (n) {

  case 0: 

    return 1

  case 1:

    return 7

  case 2:

    return 6

  case 3:

    return 5

  case 4:

    return 4

  case 5:

    return 3

  case 6:

    return 2

}

我可以做:


if (n === 0) {

  return 1

return (8 - n)

是否有更短的使用模数符号的方法可以做到这一点?


哆啦的时光机
浏览 119回答 3
3回答

皈依舞

更棘手的一个:return Math.max(8-n, 1),它也将涵盖底片

蓝山帝景

这是模数版本:const inputs = [0, 1, 2, 3, 4, 5, 6];function fn(x) {  return 7 - ((x + 6) % 7);}console.log(inputs.map(fn))

红颜莎娜

我会使用条件运算符:return n === 0 ? 1 : 8 - n;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript