相关疑难解决方法(0)

Javascript:自然的字母数字字符串

我正在寻找一种最简单的方法来排序由数字和文本组成的数组,以及这些数组的组合.

例如

'123asd'
'19asd'
'12345asd'
'asd123'
'asd12'
Run Code Online (Sandbox Code Playgroud)

变成

'19asd'
'123asd'
'12345asd'
'asd12'
'asd123'
Run Code Online (Sandbox Code Playgroud)

这将与我在这里提出的另一个问题的解决方案结合使用.

排序函数本身就可以工作,我需要的是一个可以说'19asd'小于'123asd'的函数.

我是用JavaScript编写的.

编辑:正如adormitu指出的那样,我正在寻找的是一种自然分类的功能

javascript sorting natural-sort

140
推荐指数
6
解决办法
8万
查看次数

对包含数字的JavaScript String Array进行排序

我在JavaScript中有一个包含以下内容的数组:

  • ["值1","值5"."价值10","价值11"];

我将如何排序此数组,使其不显示如下:

  • ["值1","值10"."价值11","价值5"];

但是:

  • ["值1","值5"."价值10","价值11"];

任何帮助都会很棒.

javascript arrays sorting string numbers

4
推荐指数
2
解决办法
6265
查看次数

按结束数字排序以数字结尾的字符串

我有一系列的值,如:

item1, item3, item2, item4, item5, item8, item6, item9, item10, item7, item11
Run Code Online (Sandbox Code Playgroud)

当我使用.sort()j 在javascript中对它们进行排序时得到以下结果:

item1, item10, item11, item2, item3, item4, item5, item6, item7, item8, item9
Run Code Online (Sandbox Code Playgroud)

我知道这是因为这些项目是字符串,这sort()是设计目的,但我怎样才能将它们分类为以下内容?

item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11
Run Code Online (Sandbox Code Playgroud)

谢谢,

javascript arrays sorting

3
推荐指数
1
解决办法
980
查看次数

按数字顺序对"高级"数字字符串进行排序

想象一下这个数组:

var fees = [
    '$0.9 + $0.1',
    '$20 + $2',
    '$0.7 + $0.4',
    '$5 + $0.5',
    '$0 + $0.01',
    '$100 + $9',
    '$1 + $1',
    '$2 + $0.5'
];
Run Code Online (Sandbox Code Playgroud)

如果使用vanilla JavaScript,我将如何按数字升序排序这些字符串值?

排序后所需的输出:

['$0 + $0.01', '$0.7 + $0.4', '$0.9 + $0.1', '$1 + $1', '$2 + $0.5', '$5 + $0.5', '$20 + $2', '$100 + $9']

我尝试了以下方法:

function mySort(a, b) {
    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}
Run Code Online (Sandbox Code Playgroud)

但这只是输出:

["$0 + …

javascript arrays sorting numeric

1
推荐指数
1
解决办法
53
查看次数

标签 统计

javascript ×4

sorting ×4

arrays ×3

natural-sort ×1

numbers ×1

numeric ×1

string ×1