_sort = function(obj){//按照position排序方法 var jsonList = []; var returnList = []; for(var i in obj){ var json = {'nodeId':i,'position':obj[i].position}; jsonList.push(json); } jsonList.sort(_upSort); for (var j=0; j<jsonList.length; j++){ returnList.push(obj[jsonList[j].nodeId]); } return returnList; }; _upSort = function(a, b){//升序排序 return a["position" ] > b["position" ] ? 1 : a["position"] == b[ "position"] ? 0 : -1; }; _downSort = function(a, b){//降序排序 return a["position" ] < b["position" ] ? 1 : a["position"] == b[ "position"] ? 0 : -1; }; _sort(data.resultList);
开发项目的时候,负责后台的小哥哥给我返回了一个map,但是前台render的时候需要按照position来排序,我和小哥哥就合计,写一个排序方法。
for(var i in obj){ var json = {'nodeId':i,'position':obj[i].position}; jsonList.push(json); }
将需要排序的内容按照需要的字段写成json的push进一个数组,
jsonList.sort(_upSort);
将内容按照升序排序
for (var j=0; j<jsonList.length; j++){ returnList.push(obj[jsonList[j].nodeId]); } return returnList;
返回排序完成的datalist