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

我有一个数组:

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

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

【问题讨论】:

  • 什么奇怪的应用需要这个?
  • Łukasz,你愿意接受我的回答/点赞吗?

标签: javascript arrays


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2021-07-13
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2018-08-11
    相关资源
    最近更新 更多