排序。
Posted 小角色Byme
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序。相关的知识,希望对你有一定的参考价值。
(function() {
‘use strict‘
angular.module(‘myApp‘)
.controller(‘catesDetailCtr‘, [‘$scope‘, ‘$state‘, ‘$rootScope‘, ‘MyServer‘, ‘ipCookie‘,
function($scope, $state, $rootScope, MyServer, ipCookie) {
console.log(‘catesDetailCtr‘);
var vm = $scope;
var sv = MyServer;
vm.catesDetailName = ipCookie(‘catesDetailName‘);
//综合排序下拉框
vm.listWrap = false;
vm.listSub = false;
vm.listHide = function(){
vm.listWrap = false;
vm.listSub = false;
};
// 对象数据处理
function transform(obj) {
var arr = [];
for (var item in obj) {
arr.push({
sortName: obj[item],
sortType: item
});
}
return arr;
};
// 定义排序状态
vm.curSortName = ‘综合排序‘;
vm.curSortType = ‘A‘; // A 综合排序 B C D...
vm.curSortValue = 2; // 1 正序 2倒序
vm.sortListArry = [];
//排序字段获取
vm.catesSort = function(page) {
sv.appSort({
areacode: ‘p-applist‘
}, function(data) { // 首页精选广告
if (data.code == ‘SUCCESS‘) {
vm.sortList = transform(data.data);
$scope.sortList = $scope.sortList.sort(function(a, b) {
return (a.sortType + "").localeCompare((b.sortType + "")); // 比较非数字类型
// return a.sort >= b.sort ? -1 : 1; // 比较数字类型 倒叙排序
});
// console.log(‘$scope.sortList‘,$scope.sortList);
vm.sortHList = vm.sortList.slice(0, 4);
vm.sortPList = vm.sortList.slice(vm.sortHList.length, vm.sortList.length);
vm.sortPList.unshift(vm.sortHList[0]);
}
}, sv.err)
};
vm.catesSort();
// 排序设置
vm.setSort = function(obj,isshow) {
if (obj.sortName == ‘综合排序‘ && isshow == 1) {
vm.listWrap = true;
vm.listSub = true;
return;
} else {
vm.listWrap = false;
vm.listSub = false;
}
if (obj.sortType == vm.curSortType) {
vm.curSortValue = vm.curSortValue == 1 ? 2 : 1; // 切换当前的排序顺序
} else {
vm.curSortValue = 2; // 切换当前的排序顺序
}
vm.curSortName = obj.sortName; // 切换当前的排序名称
vm.curSortType = obj.sortType; // 切换当前的排序类型
vm.page = 1;
vm.Result = [];
vm.catesDetail(vm.page);
};
/*应用详情*/
// 应用列表
vm.page = 1;
vm.Result = [];
vm.catesDetail = function(page) {
var formdata = {
cid: $state.params.aId,
page: vm.page,
sort: vm.curSortType + vm.curSortValue
};
sv.newlist(formdata, function(data) { // 首页精选广告
if (data.code == ‘SUCCESS‘) {
if (vm.Result) {
for (var i = 0; i < data.data.lists.length; i++) {
vm.Result.push(data.data.lists[i]);
}
} else {
vm.Result = data.data.lists;
}
if (vm.page >= data.data.page.total_pages && data.data.lists.length) vm.tips = ‘已经全部加载完毕‘;
else if (!data.data.lists.length) vm.tips = ‘暂时没有数据‘;
else ajaxScroll();
vm.pages = data.data.page;
}
}, sv.err)
};
vm.catesDetail(vm.page);
var ajaxScroll = function() {
$(document).scroll(function() {
if ($state.current.name == ‘index.catesDetail‘ && ($(window).scrollTop() + $(window).height()) + 1 >= $(document).height()) {
if (vm.page < vm.pages.total_pages) {
vm.page++;
vm.tips = ‘正在加载数据...‘;
vm.catesDetail(vm.page);
}
$(document).unbind(‘scroll‘);
}
});
};
}
])
;
})();
以上是关于排序。的主要内容,如果未能解决你的问题,请参考以下文章
冒泡排序,快速排序,归并排序,插入排序,希尔排序,堆排序,计数排序,桶排序,基数排序
常见排序算法的实现(归并排序快速排序堆排序选择排序插入排序希尔排序)
经典排序算法和python详解:归并排序快速排序堆排序计数排序桶排序和基数排序