例如:6 => 10||50||100, 78 => 100 , 323 => 500||1000?
回答
function upTo(v, step) {
const mod = v % step;
return mod ? v - mod + step : v;
}
测试代码:
const steps = [10, 50, 100, 500, 1000];
const nums = [6, 78, 323];
nums
.flatMap(v => steps.map(step => [v, step, upTo(v, step)]))
.map(([v, s, r]) => `${v} up to ${s} is ${r}`)
.forEach(line => console.log(line));
测试输出
PS C:Usersjames> node "d:jamesDesktoptest.js"
6 up to 10 is 10
6 up to 50 is 50
6 up to 100 is 100
6 up to 500 is 500
6 up to 1000 is 1000
78 up to 10 is 80
78 up to 50 is 100
78 up to 100 is 100
78 up to 500 is 500
78 up to 1000 is 1000
323 up to 10 is 330
323 up to 50 is 350
323 up to 100 is 400
323 up to 500 is 500
323 up to 1000 is 1000
PS C:Usersjames>
整百整千整万减去那个值大于等于0?不明白你的意思