Computer >> Máy Tính >  >> Lập trình >> Javascript

Sắp xếp một mảng có chứa giá trị của một số trọng số bằng JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng chuỗi chứa trọng lượng với ba đơn vị:gam (G), kilo-gam (KG) và tấn (T). Hàm của chúng ta sẽ sắp xếp mảng theo thứ tự trọng lượng từ nhẹ đến nặng.

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng chuỗi chứa trọng lượng với ba đơn vị:gam (G), kilo-gam (KG) và tấn (T). Hàm của chúng ta sẽ sắp xếp mảng theo thứ tự trọng lượng từ nhẹ đến nặng.

Ví dụ

Sau đây là mã -

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));

Đầu ra

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