javascript - 如何根据包含的数字对字符串数组进行排序?

标签 javascript arrays sorting

我有一个包含如下字符串的数组:

"1115.49|Onroll|Paiporta|/v2/networks/onroll-paiporta"
"1767.92|Göteborg|Göteborg|/v2/networks/goeteborg"
"190.4|ARbike|Arezzo|/v2/networks/arbike"
"201.36|JesinBici|Jesi|/v2/networks/jesinbici"
"403.59|Venezia|Venezia|/v2/networks/venezia"
"395.07|Mantova|Mantova|/v2/networks/mantova"

第一个值是一个距离,我想根据该距离对数组进行排序,我该怎么做?

我尝试过的所有方法都不起作用,我希望 1000 出现在 200 之后而不是之前!

谢谢!

最佳答案

你可以这样做:

yourArray.sort(function (a, b) {
    var aNum = +a.substring(0, a.indexOf('|'));
    var bNum = +b.substring(0, b.indexOf('|'));
    if (aNum > bNum) return 1;
    if (aNum < bNum) return -1;
    return 0;
});

它将按您想要的升序返回一个数组。

关于javascript - 如何根据包含的数字对字符串数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24849613/

相关文章:

c# - 使用一个列表中的最大值对第二个列表进行排序。

javascript - 如何使用 http 向特定用户发送 Chrome 通知

Javascript(纯): Set many style attributes using list of values from array

php - 是否可以在 PHP 中的 ArrayIterator 对象上覆盖 print_r 的行为?

javascript - 当您的键是字符串数组时使用 lodash groupby

javascript - jquery中的数组和循环

arrays - 使用 array.sort 时出错

java - 对列表中的数字对进行排序

javascript - Grunt Connect 服务器 CSS 文件为空

javascript - 使用破坏的 typescript 无状态(功能)组件警告?