2015-04-16 22 views
-3

我有一個系統將一次處理100條記錄。可用的記錄數可以是1..n。我需要將數據分塊爲範圍,然後獲得這些範圍的最大值和最小值,然後使用javascript進行處理。我不知道如何做到這一點。將整數轉換爲塊,並使用Javascript獲取每個塊的最大值和最小值。

var n = 500; 
    var process_max = 100; 
    var number_of_times_to_process = Math.ceil(n/process_max) // 5 

所以在這種情況下,將有5米範圍內,將需要處理

 1 to 100 
     101 to 200 
     201 to 300 
     301 to 400 
     401 to 500 


    for(i = 0; i < number_of_times_to_process; i++){ 
     function processranges(max, min) { 
     //do something 
     } 
    } 

任何幫助,將不勝感激。

+0

看起來你有基本的設置,你有什麼需要幫忙嗎? – dandavis

+0

你是什麼意思的「一次」?你是否想異步執行此操作,塊之間有超時?或者只是需要邏輯過程? – Bergi

回答

1
var n = 500; 
var process_max = 100; 
var number_of_times_to_process = Math.ceil(n/process_max) // 5 

for(i = 0; i < number_of_times_to_process; i++) { 
    var min = i * process_max + 1; 
    var max = min + process_max - 1; 
    processranges(min, max); 
} 

function processranges(min, max) { 
    //do something 
} 
1

所以你只是想每次增加100個最小值和最大值? 像這樣?

var min, max, n = 500, process_max = 100; 

for(min = 1, max = process_max; min < n; min += process_max, max += process_max) { 
    //do something 
} 

或者您是否確實有需要拆分爲子列表的對象列表? 例如

function split(list, chunkSize) { 
    var i, result = []; 
    for(i = 0; i < list.length; i += chunkSize) { 
    result.push(list.slice(i, i + chunkSize)); 
    } 
    return result; 
} 
相關問題