【发布时间】:2020-05-21 13:20:01
【问题描述】:
假设我们有范围 [-2, -1, 0, 1, 2, 3] 可以描述为 MIN_VALUE=-2 和 MAX_VALUE=3 我们要实现一个名为infiniteCarousel() 的函数,它将接受任何数字,并使用模运算符(或其他东西)来计算指定范围内的相应数字。
function infiniteCarousel(value, minValue, maxValue)
{
// todo
// use modulus operator to calculate correct number
// return calculated number
}
// range = [-2, -1, 0, 1, 2, 3]
const MIN_VALUE = -2;
const MAX_VALUE = 3;
var array = [];
// let's calculate number from -10 to 10
for (var i = -10; i<10; i++)
{
array.push( infiniteCarousel(i, MIN_VALUE, MAX_VALUE) );
}
// should print [2, 3, -2, -1, 0, 1, 2, 3, -2, -1, 0, 1, 2, 3, -2, -1, 0, 1, 2, 3, -2]
console.log(array);
您知道实现这一点的任何有效方法吗? 另外,有人知道这个问题的正确名称是什么吗?我在搜索网络时遇到了麻烦,因为我不知道如何正确描述这个问题。
【问题讨论】:
-
通过将间隔规范为始终从 0 开始来简化问题(很多)。
标签: javascript carousel modulo infinite