首页 > 解决方案 > 如何按数字顺序对字符串数组进行排序?

问题描述

例如,我有一个字符串数组['item 2','item 1','item 10','item 4']。我希望它是这样['item 1','item 2','item 4','item 10']的,但默认情况下,该sort()函数按字母顺序对值进行排序,这意味着它看起来像这样['item 1','item 10','item 2','item 4']

标签: javascriptarrayssorting

解决方案


只需获取数字并对其进行排序

let array = ["item 1", "item 10", "item 2", "item 4"];

const result = array.sort((a, b) => a.match(/\d+/) - b.match(/\d+/));
console.log(result);


推荐阅读