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