【发布时间】:2016-11-03 12:57:12
【问题描述】:
我有一列,其中标题是文件大小,数据是字符串格式,例如“1.2 Mb, 2.4 Kb, 241 Bytes...”
我已经使用 orderBy 对其进行了角度排序,但它无法正常工作。 它只是改变了上帝知道什么逻辑的价值观。
我想到的一个解决方案是将字符串转换为一些整数/浮点数,然后根据这些整数/浮点数对列进行排序。
知道如何实现这一目标吗?就像我如何将这些文件大小转换为一些整数并对其应用排序?我将在函数中编写什么代码?
我相信我们必须对字符串进行 Mb、Kb 或字节等检查。
【问题讨论】:
-
请在您的问题中包含一些相关代码(视图+控制器)
-
字符串上的 orderBy 函数不会为您提供所需的数字和字母组合排序。您需要为此制作一个自定义比较器。首先比较 Mb、Kb、...,然后比较数字部分。
-
如果可以的话,我建议以字节为单位。然后在您的 UI 上,您可以使用过滤器来显示它 - 例如将“1024”显示为“1 MB”。 p.s. MB = 兆字节,Mb = 兆位
标签: javascript jquery angularjs frontend