Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript를 사용하여 일부 가중치 값을 포함하는 배열 정렬

<시간/>

문제

우리는 그램(G), 킬로그램(KG), 톤(T)의 세 가지 단위로 된 가중치를 포함하는 문자열 배열을 취하는 JavaScript 함수를 작성해야 합니다. 우리 함수는 배열을 가벼운 것부터 무거운 것 순으로 정렬해야 합니다.

우리는 그램(G), 킬로그램(KG), 톤(T)의 세 가지 단위로 된 가중치를 포함하는 문자열 배열을 취하는 JavaScript 함수를 작성해야 합니다. 우리 함수는 배열을 가벼운 것부터 무거운 것 순으로 정렬해야 합니다.

예시

다음은 코드입니다 -

const arr = ['1456G', '1KG', '.5T', '.005T', '78645G', '23KG'];
const arrangeWeights = (arr = []) => {
   const sorted=(w)=>{
      if(w.slice(-2) === 'KG'){
         return +w.slice(0,-2) * 1;
      }else if(w.slice(-1)==='T'){
         return +w.slice(0, -1)*1000
      }else{
         return +w.slice(0, -1)*0.001;
      };
   };
   return arr.sort((a, b) => sorted(a) - sorted(b));
};
console.log(arrangeWeights(arr));

출력

[ '1KG', '1456G', '.005T', '23KG', '78645G', '.5T' ]