2013-03-28 2 views
0

나는 현재 목적지에 대한 마일리지 및 목적지에서의 마일리지를 입력하는 경비 양식을 개발 중입니다.JavaScript - 주행 거리 합계를 계산하는 방법

마일리지 밴드 관세 예를 들어,이 : 0-10마일는 £ 20 11~20마일의 단일 수당을 얻는다 £ 40 등 등의 수당을 £ 30 21~30마일의 수당을 얻는다 얻는다

이 요금은 연간 기준으로 변경되므로 rangeFrom 및 rangeTo 필드와 허용 총계가 유지 된 테이블을 만들었습니다.

내가 고민하고있는 것은 사용자가 여행에 대해 얼마나 많은 돈을 지불해야하는지 알아내는 가장 좋은 방법입니다. 예 : 그들이 목적지까지 24 마일을 여행한다면 20 파운드의 수당을 받아야하지만 어떻게 계산해야합니까?

테이블에서 쿼리 세트를 반복하여 각 마일리지 밴드에 숨겨진 폼 값을 만든 다음 입력 된 값이 어느 밴드에 속하는 지 알 수 있습니까? 아니면 다른 방법이 있습니까?

+0

"21-30 마일이 40 파운드의 수당을 받으면"왜 목적지에 24 마일을 주면 20 파운드의 수당을 받아야합니까? 또는 나는 무엇인가 놓치 느냐? –

답변

1

I는 .... A A 마일리지 지정된 룩업이어서

var allowanceMapping = [ 
    { 
     range: {low: 0, high: 10}, 
     allowance: 20 
    }, { 
     range: {low: 11, high: 20}, 
     allowance: 21 
    } 
]; 

, range.low 및 range.high에 비교 키들을 통해 루프로 단지 간단한 배열을 사용

var given; 
for (vari = 0; i < allowanceMapping.length; i++) { 
    var current = allowanceMapping[i]; 
    if (given >= current.range.low && given < current.range.high) return current.allowance; 
} 
+0

하지만 배열에 테이블 값을 저장하는 방법은 무엇입니까? – CPB07

+1

당신은 데이터베이스에서 값을로드하고 적절한 데이터 구조를 생성해야합니다 – hvgotcodes

관련 문제