javascript - ExtJS 分组网格排序错误

标签 javascript sorting extjs extjs3 grid-layout

我有一个按字段分组的分组网格,假设该组是“团队”。然后该球队中的所有球员都有一个号码和其他字段,例如姓名、契约(Contract)开始和结束日期。

在球队中,我可以按球员姓名的字母顺序以及日期进行排序。排序适用于这些字段。

问题是当我尝试按玩家编号排序时,它按以下方式排序。

假设我们有 1 到 30 号玩家。

我的网格中的升序将是:

1 10 11 12 13 14 15 16 17 18 19 2 20 21 etc.

显然,出于某种原因,它只比较第一个数字,但在青少年之间,它知道哪些数字先出现(?)。

我希望数字按逻辑升序排序:

1 2 3 4 5 6 7 8 9 10 11 12 ... 20 21 22 ... 29 30

我在网格中使用 ExtJS 3.3.1 分组 View 。网格存储的数据来自java对象,所有字段都是字符串。

谢谢!

最佳答案

字符串在 js 中总是这样排序。在控制台中尝试 "2"> "10"。您必须在模型或商店上使用数字类型字段。像这样:

fields: [
    {name: '...', type: 'int'}
]

在进行数组排序函数时,先使用parseInt(...)转换为数字。

关于javascript - ExtJS 分组网格排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27252687/

相关文章:

javascript - Chrome 工作区无法使用 Source Maps 和 Javascript

javascript - 无法从 'C:\Users\syrine\management\node_modules\stylis-plugin-rtl\src\stylis-rtl.ts' 解析源映射

javascript - 关于对象上的 ES6 扩展运算符的快速问题

Java 复杂排序

Extjs4,如何在组合编辑器中设置displayField?

javascript - Streamjs和linqjs有什么关系

arrays - 数组变异算法

python - 如何在 Python 中对对象进行排序

ExtJs 海王星主题

java - Json数据解析错误