我有一个按升序排列的数组,在 JavaScript 中,其中包含以毫秒为单位的日期。
// Sample data; This may grow upto 1k or 2k
var dates = [1333391400000,1335292200000,1335810600000,1336329000000,1336933800000,1337020200000,
1337193000000,1337538600000,1337625000000,1337797800000,1338316200000,1338921000000,
1339093800000,1339439400000,1340303400000,1341772200000,1342463400000,1343068200000];
我没有开始和结束索引,而是有值。我需要从JavaScript数组中获取在两个日期(最小值和最大值)之间的所有日期。我通过JSON从Java获取此数组。
以下是获取最小值和最大值之间日期的方法:
function getDatesBetweenRange(min,max){
var subArray = [];
var value, jCntr=0;
for(var iCntr=0;iCntr<dates.length;iCntr++){
value = dates[iCntr];
if(value>max)
break;
if(value >=min && value <=max){
subArray[jCntr++]= value;
}
}
return subArray;
}
由于数组是按升序排列的,如果我得到的值比参数中提供的最大值还要大,我将中断循环。
是否有其他更有效的方法从JavaScript数组中获取值?