2010-12-13 4 views
0

단위 변환을 수행하기 위해 jQuery 플러그인을 처음 작성했습니다. 그것은 원래 값, 변환하려는 단위 및 변환하려는 단위 (문자열로, 지금은)를 취하는 점에서 상당히 간단한 플러그인입니다.jQuery 플러그인에서 데이터 세트를 표현하는 방법은 무엇입니까?

그러나이 라이브러리의 일부로 변환 할 수있는 단위를 알고 싶습니다. F #에서 이것을했을 때, 차별화 된 노동 조합을 사용하여 유형을 표현한 다음, 각각의 유형을 보유한 "마스터"차별화 된 노동 조합을 가질 수있었습니다. 이를 통해 유닛을 하나의 유형으로 사용하고 타입 안전성을 확보 할 수있었습니다 (예 : 그램을 미터로 변환 할 수 없음).

JavaScript로 이와 같은 작업을 수행하려면 어떻게해야합니까? 내가 변환 할 수있는 모든 유형을 나타 내기 위해 JSON을 사용해야 할 필요가 있다고 생각했지만 (어쩌면 그렇게하지 않았을까?), 이런 식으로하는 방법을 완전히 이해할 수 있을지 모르겠다. 연구와 학습을 계속할 수 있도록 출발점을 알려 주시면 감사하겠습니다. 고맙습니다.

답변

1

는이 같은 배열을 만들 수 있습니다

var conversions = { 
    meters: { 
     conversion: 1, 
     unit: "length" 
    }, 
    feet: { 
     conversion: 1/3.28, // 1 foot is about a third of a meter 
     unit: "length" 
    }, 
    kilograms: { 
     conversion: 1, 
     unit: "weight" 
    }, 
    pounds: { 
     conversion: 1/2.204, 
     unit: "weight" 
    } 
} 

그런 다음 당신이 할 일은 당신이 변환하고 무엇이 당신으로 변환하는지와 같은 장치가 있는지 확인합니다. 각 단위 유형은 SI 단위로 값에 매핑됩니다 (예 : 모든 길이 단위가 미터로 변환 됨). 따라서 한 유형의 단위에서 다른 단위로 이동할 수 있습니다.

+0

일반적인 중간 지형 (일반적으로 공통 SI 단위)으로 변환 한 다음 다시 새 단위로 변환하는 아이디어를 얻었습니다. 코드 작성이 매우 쉬웠습니다. 나는 여전히 문자열에 의존하고 있지만, 지금은 다른 것이 과잉이라고 생각하고 있습니다. 당신의 대답을 받아 들인 것으로 표시합니다, 왜냐하면 그것은 제 해결책에 달려 있기 때문입니다. 감사! – JasCav

관련 문제