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' ]