Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Sắp xếp mảng chứa trọng lượng với đơn vị G, KG, T bằng JavaScript


Vấn đề

Chúng ta cần 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ị: gram (G), kilogram (KG) và tấn (T). Hàm phải sắp xếp mảng theo thứ tự trọng lượng từ nhẹ đến nặng.

Chúng ta cần 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ị: gram (G), kilogram (KG) và tấn (T). Hàm phải sắp xếp mảng theo thứ tự trọng lượng từ nhẹ đến nặng.

Ví dụ

Dưới đâ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));

Kết quả

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