AngularJS 排序问题,字符串数字如何转为数值排序?

你好,AngularJS排序问题, $scope.data=[{"id":"1","id":"2","id":"10"}]; ng-repeat排序,根据id排序,但是默认id是字符串类型,并不是数值类型, 我想根据数值排序,不知道如何实现,怎么办? 以下是我的办法,但是感觉很牵强: 1、服务器后端直接排序; 2、遍历data,把id转换为数值;
最新回答
黄昏半晓拾忆

2024-04-21 03:21:00

用正则表达式获取数字放入数组,调用排序方法
如果你的这些数字是放到同一个字符串里面的,那就要先拆分,用空格拆成数组,然后每个一值调用trim(),去掉空格,再调用Arrays.sort(数组);结果就能正确显示出来了
//原始字符串
String
oldStr
=
"90
-20
-8
100
2
80"
;
//分成数组
String[]
newStr
=
oldStr.split("
");
//给数组里的值去空格
for
(int
i
=
0
;
i
<
newStr.length
;
i++)
{
newStr[i]
=
newStr[i].trim();
}
//排序
Arrays.sort(newStr);
//输出
for
(String
s
:
newStr)
{
System.out.print(s+"\t");
}