Computer >> Máy Tính >  >> Lập trình >> Javascript

Thứ tự chuỗi trong một mảng theo một số trong chuỗi JavaScript

Chúng ta có một mảng các chuỗi, mỗi chuỗi chứa một hoặc nhiều số như thế này -

const arr = ['di5aster', 'ca1amity', 'cod3', 'ho2me3', 'ca11ing'];

Chúng ta được yêu cầu viết một hàm sắp xếp để sắp xếp mảng này theo thứ tự tăng dần của các số có trong chuỗi. Thứ tự chính xác sẽ là -

const output = [ 'ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3' ];

Do đó, hãy viết mã cho vấn đề này -

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) => {
   return filterNumber(a) - filterNumber(b);
};
arr.sort(sorter);
console.log(arr);

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[ 'ca1amity', 'cod3', 'di5aster', 'ca11ing', 'ho2me3' ]