我試圖根據季度系統計算總和。 [10,20,30,40,50,60,70,80,90]
- 初始陣列根據季度計算總和
我正在尋找的結果是 [60, 150, 70, 80, 90]
凡Q1 = 10+20+30 = 60
Q2 = 40+50+60 = 150
Q3將完成只有通過在十月價值。
我感到困惑與邏輯我有
var adata = [10,20,30,40,50,60,70,80,90];
process(adata, "Sept 2014");
function process(adata, date){
var today = new Date(date) || new Date();
var aQuarter = [];
\t var tempQuarter = [];
var aSum = [];
//var quarter = Math.floor((today.getMonth() + 3)/3);
for(var i = 0; i<= today.getMonth(); i++) {
aQuarter.push(adata[i]);
}
tempQuarter = adata.slice();
if(tempQuarter.length > 3) {
\t \t var i = 0;
var sum = [];
\t \t while(i <= 2) {
\t \t \t sum[i] = aQuarter.shift();
\t \t \t i++;
\t \t }
console.log(sum);
\t \t aQuarter.unshift(sum);
\t }
if(tempQuarter.length > 6){
\t \t var i = 0;
var sum = [];
\t \t while(i+1 <= 3) {
\t \t \t sum[i] = aQuarter.shift();
\t \t \t i++;
\t \t }
\t \t aQuarter.unshift(sum);
\t }
console.log(aQuarter);
if(tempQuarter.length > 9){
\t \t var i = 0;
\t \t while(i+2 <= 4) {
\t \t \t sum[i] = aQuarter.shift();
\t \t \t i++;
\t \t }
\t }
}
你說結果應該是...... [60,150,80,80,90]'。你不是指[60,150,70,80,90]嗎? – Bijan 2015-02-05 20:40:21
對不起,我的壞。我的意思是'[60,150,70,80,90]'。更新 ! – user525146 2015-02-05 20:45:36