问题标签 [natural-sort]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
755 浏览

javascript - 如何有效地序列化 64 位浮点数以使字节数组保持自然数字顺序?

我正在处理的项目要求我将 javascript 数字(它们是双精度数)作为 BLOB 主键存储在数据库表中(不能使用数据库本机浮点数据类型)。所以基本上我需要以这样的方式将数字序列化为字节数组:

1 - 字节数组的长度为 8(通常需要序列化双精度)

2 - 字节数组必须保持自然顺序,以便数据库透明地对索引 b 树中的行进行排序。

我正在寻找一个简单的函数,它接受一个数字并返回一个表示字节的数字数组。我更喜欢用 javascript 编写的函数,但也可以接受用 java、C、C#、C++ 或 python 编写的答案。

0 投票
7 回答
10380 浏览

sql - 混合单词和数字字符串的人性化或自然数排序

跟进Sivaram Chintalapudi提出的这个问题,我感兴趣的是在 PostgreSQL 中对包含多位数字和单词/字母混合的字符串进行自然或“人性化”排序是否可行。没有固定的字符串中的单词和数字的模式,并且字符串中可能有多个多位数字。

我经常看到这样做的唯一地方是在 Mac OS 的 Finder 中,它自然地对包含混合数字和单词的文件名进行排序,将“20”放在“3”之后,而不是之前。

所需的整理顺序将由一种算法产生,该算法将每个字符串在字母数字边界处分成块,然后对每个部分进行排序,将具有正常整理的字母块和数字块视为整数以进行整理。所以:

'AAA2fred'将成为('AAA',2,'fred')并将'AAA10bob'成为('AAA',10,'bob')。然后可以根据需要对这些进行排序:

与通常的字符串排序规则相比:

然而,记录比较方法并没有推广,因为 Pg 不会比较 ROW(..) 构造或不等数量条目的记录。

鉴于此 SQLFiddle中的示例数据,默认的 en_AU.UTF-8 排序规则会产生排序:

但我想要:

我目前正在使用 PostgreSQL 9.1,但只有 9.2 的建议就可以了。我对如何实现有效的字符串拆分方法以及如何在所描述的交替字符串-然后-数字排序规则中比较生成的拆分数据感兴趣。或者,当然,在不需要拆分字符串的完全不同和更好的方法上。

PostgreSQL 似乎不支持比较器函数,否则这可以通过递归比较器和类似函数的东西相当容易地ORDER USING comparator_fn完成comparator(text,text)。唉,这种语法是虚构的。

更新: 关于该主题的博客文章

0 投票
1 回答
1199 浏览

java - Java/Android中的字符串自然排序

我正在做升序字符串排序。目前,“Route101”将排在“Route11”之前,因为 10 在 11 之前。但是,由于 11 小于 101,我希望“Route11”在“Route101”之前。

我知道在 iPhone 中,它有类似的东西,基本上是自然排序:

Android或Java中有类似的东西。

谢谢。

0 投票
2 回答
1427 浏览

sql - 用于比较由数字和文本组成的字符串的 SQL

我需要比较 2 个包含数字和可能文本的字符串。例如我有这张桌子:

我需要确定方向,以便如果 Label 1 < Label2 则 Direction 为 W(与),否则为 A(反对)。所以我必须构建一个以这种方式呈现数据的视图:

我正在使用 postgres 9.2。

0 投票
3 回答
2541 浏览

r - R list.files() 中的自然排序顺序(人类排序顺序)

有没有一种简单的方法可以按自然顺序(也称为人为顺序)对文件进行排序,即 file9.csv 在 file10.csv 之前?list.files() 似乎没有排序顺序选项。

有很多其他语言的实现(例如here),而Rosetta Code只有C、Perl、Python等的解决方案。

0 投票
2 回答
587 浏览

php - PHP对大量数据的自然排序内存问题

我正在使用 php 的自然排序算法natsort,但我考虑了内存使用情况。

事情就是这样。脚本从 mysql 中提取数据并将结果放入数组中,然后natsort对其进行应用。但这就是问题所在。行的文本可能很长,可能有数百行。

示例代码:

我想知道这对记忆有何影响?这是适当的方法还是我应该做一些更有效、更愉快的事情?

0 投票
3 回答
7574 浏览

javascript - javascript 自然排序

我有这个数组:

如果我这样做columnArray.sort();,它会给我:

如何正确排序?

0 投票
1 回答
1161 浏览

ios - iOS:自然排序顺序

我有一个 iOS 应用程序,它使用 Core Data 来保存和检索数据。
如何以自然排序顺序获取按 NSString 类型的字段排序的数据?

现在的结果是:

我需要:

0 投票
3 回答
1784 浏览

sql - 使用 SQL Server 进行自然排序

我想用下面的列名转换值的顺序PTNT_VST_CSNO

到:

我想先对“vmip”的数字部分进行排序,然后再对“vmop”的数字部分进行排序。我尝试了很多,但每次都失败了。请帮我解决排序问题......提前谢谢你

0 投票
1 回答
959 浏览

jqgrid - 如何在 jqGrid 中实现“自然排序”

我开始搜索在 jqGrid 中实现“NaturalSort”,我有 NaturalSort 的 Javascript 代码,如下所示:

我试过但没有找到通过 jqGrid 使用上述代码的方法。谁能指导我如何通过使用上述代码或任何其他方式来实现“自然排序”。

在这方面的任何帮助将不胜感激!