按字符串内的数字对数组进行排序[重复]

Posted

技术标签:

【中文标题】按字符串内的数字对数组进行排序[重复]【英文标题】:Sorting an array by number inside string [duplicate] 【发布时间】:2017-07-25 15:33:43 【问题描述】:

我有一个数组:

var arr = [ '4msterdam', 'Par1s', 'N3w York', '2urich'];

如何按数组每个元素中包含的数字对数组进行排序?

【问题讨论】:

什么奇怪的应用需要这个? Łukasz,你愿意接受我的回答/点赞吗? 【参考方案1】:

一个好的方法是使用Array#sortRegExp 进行数组排序,基于每个元素中的第一个匹配数字。

var arr = ['4msterdam', 'Par1s', 'N3w York', '2urich'];
    sorted = arr.sort((a,b) => a.match(/\d/)[0] - b.match(/\d/)[0]);
    
    console.log(sorted);

【讨论】:

以上是关于按字符串内的数字对数组进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

您可以按值对包含数字的字符串数组进行排序吗? [复制]

按字母数字对javascript数组进行排序[重复]

Elasticsearch:使用处理器对数组进行排序

Elasticsearch:使用处理器对数组进行排序

除数字外,如何按字母顺序对对象数组进行排序?

JavaScript数字数组怎么按数字大小排序?