js中使用sort对json数据进行排序

json格式的数据输出的时候一般是没有排序的,在展示的时候需要另外进行排序。这里总结了js对json数据排序的方法。
js中是弱类型变量,所以一般获取到数据是会按照系统自定义的类型处理,在我的系统中系统默认把数字也转化成了: “value”:”17404″这样的格式,
所以在处理上如果直接比较排序,它就会按照字符串来排序,所以要强制类型转化一下,转换为整型。
不说了,直接贴代码吧:
字符串比较排序:kdata是一个json数组,里面的有value字段,如下:
[{“name”:”kStatusAcc”,”value”:0},{“name”:”kStatusDis”,”value”:”140495659″},{“name”:”kStatusDisS”,”value”:”17404″}]
这里需要根据value值的大小进行排序:
kdata.sort(function(a, b){
return a[“value” ] < b[“value” ] ? 1 : a[“value”] == b[ “value”] ? 0 : -1; }); 这里的排序并不是我们最终想要的结果,因为这里排序的时候会把value值当作字符串来比较,而不是数字比较,下面这段代码把字符串进行了强制转换,进行了数字比较,这才是我最总想要的结果。 kdata.sort( function(a, b){ return parseInt(a[“value” ]) < parseInt(b[“value” ]) ? 1 : parseInt(a[ “value”]) == parseInt(b[ “value” ]) ? 0 : -1; });

2 thoughts on “js中使用sort对json数据进行排序

Leave a Reply

Your email address will not be published. Required fields are marked *