我从服务器端得到一个json,顺序如下:
[{
"outlet_id": 83
"outlet_name": "My Outlet"
"address": "My Outlet"
"shop_number": "123"
"street": "123"
"building_no": "52"
"key_location": "Location 123"
"mohallah": "Mohalla 123"
"landline": "1235869"
"owner_name": "Owner"
"Manufecture": "A"
"BrandName": "B"
"Variant": "C"
"BRANDDiscription": "D"
"SIZE": "E"
"Variant/Promotions": null
"Segment": null
}]
但是当我显示它时,它扰乱了秩序,我使用的是ng-重复,比如:
<td ng-repeat="(key, value) in vm.outletFieldAttrsList[0]">{{value}}</td>
属性的顺序与服务器返回的JSON中的顺序不一样,有谁能帮上忙?
发布于 2016-01-23 13:40:49
我认为您尝试使用arr.sort,但这不是保证。
sort()方法对数组的元素进行排序,并返回数组。这种类型不一定是稳定的。默认排序顺序是根据字符串Unicode代码点。
如果未提供compareFunction,则通过将元素转换为字符串并按Unicode代码点顺序比较字符串对元素进行排序。例如,“樱桃”先于“香蕉”。在数字排序中,9位于80之前,但由于数字被转换为字符串,"80“以Unicode顺序排在"9”之前。
我相信最好的解决办法,就是按你想要的顺序来回应。
示例:
[0: { ITEM }, 1 : {ITEM 2}]或者创建一个比较的函数:
items.sort(function (a, b) {
return a.localeCompare(b);
});更多细节。,请参阅引用
https://stackoverflow.com/questions/34963936
复制相似问题