你描述的有点问题
是这个意思吧?a = [10, 30, 50, 70, 90];function xianglin(jiange, weizhi) {//间隔 为止
var n = 0;
var i = 0;
while(n < weizhi) {
n += jiange;
while(n > a[i]) i++;
}
return a[i-1];
}
document.write(xianglin(20, 61) + '<br>'); //70
document.write(xianglin(20, 59) + '<br>'); //50
是这个意思吧?a = [10, 30, 50, 70, 90];function xianglin(jiange, weizhi) {//间隔 为止
var n = 0;
var i = 0;
while(n < weizhi) {
n += jiange;
while(n > a[i]) i++;
}
return a[i-1];
}
document.write(xianglin(20, 61) + '<br>'); //70
document.write(xianglin(20, 59) + '<br>'); //50
function xianglin(jiange, weizhi)
{
return (weizhi/jiange|0)*jiange + startValue;
}
document.write(xianglin(20, 61) + '<br>'); //70
document.write(xianglin(20, 59) + '<br>'); //50
function xianglin(jiange, weizhi)
{
return startValue +
((weizhi-startValue)/jiange|0)*jiange +
(Math.round(((weizhi-startValue)%jiange)/jiange) && jiange);
}
echo xianglin(20,59).'<br>'; // 50
echo xianglin(20,75); // 70function xianglin($jiange, $weizhi){
$arr = array(10,30,50,70,90);
$start = -1;
$end = -1;
for($i=0,$len=count($arr); $i<$len; $i++){
if($weizhi<$arr[$i]){
$start = isset($arr[$i-1])? $arr[$i-1] : -1;
$end = $arr[$i];
break;
}
}
if($start==-1){
$start = $arr[0];
$end = $arr[1];
} if($end==-1){
$start = $arr[count($arr)-2];
$end = $arr[count($arr)-1];
} if($weizhi>=(int)(($start+$end)/2)){
return $end;
}else{
return $start;
}
}