Cho mảng chuỗi mỗi chuỗi chứa một hoặc nhiều số. Sắp xếp theo thứ tự tăng dần của số trong chuỗi.
Ví dụ: ['di5aster', 'ca1amity', 'cod3', 'ho2me3', 'ca11ing'] → ['ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3'].
Trích xuất số từ chuỗi bằng filter trên mã ký tự (48-57), so sánh bằng sort:
Ví dụ
const arr = ['di5aster', 'ca1amity', 'cod3', 'ho2me3', 'ca11ing'];const filterNumber = str => { return +str .split('') .filter(el => el.charCodeAt() >= 48 && el.charCodeAt() <= 57) .join('');};const sorter = (a, b) => filterNumber(a) - filterNumber(b);arr.sort(sorter);console.log(arr);Kết quả
Đầu ra trong console sẽ là:
['ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3']