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

Sắp xếp chuỗi trong mảng theo số trong chuỗi JavaScript

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