我已经完成了这个函数,它创建了一个季度数组,从指定的季度开始倒数 x 个季度。
数组中的最后一项是引用季度。
例如,引用季度 2
和计数 9
,这将产生 [2, 3, 4, 1, 2, 3, 4 , 1, 2]
;
我的函数可以工作,但我想知道是否有更简单、更优雅的解决方案。
代码如下:
/// Counts back x from specified quarter
/// Parameters:
/// @param countFrom -- the reference quarter to count back from
/// @param count -- count
///
/// @returns array -- the array of quarters
function getQuarterList(countFrom, count) {
var ret = [];
for (var i = 0; i < count; i++){
var z = countFrom - i;
while (z < 1) {
z = z + 4;
}
ret.splice(0, 0, z);
}
return ret;
}
var quarterList = getQuarterList(2, 9);
console.log(quarterList);
最佳答案
您可以计算起始值
function getQuarterList(countFrom, count) {
var offset = (countFrom - count) % 4 + 4;
return Array.apply(null, { length: count }).map(function (_, i) {
return (i + offset) % 4 + 1;
});
}
console.log(getQuarterList(2, 9));
console.log(getQuarterList(3, 7));
console.log(getQuarterList(1, 2));
console.log(getQuarterList(4, 9));
关于javascript - 是否有更好的方法通过从给定季度倒数来创建季度列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39079896/