【发布时间】:2018-02-26 03:21:37
【问题描述】:
编辑:我已修复
好吧,我修复了它,我不知道如何修复它,但我所做的只是移动了 var personTaskMonthly=[]; 的 init来自
$http.get().then(function(data){
var personTaskMonthly=[];})
在 $http 开始之前 像这样
var personTaskMonthly=[];
$http.get().then(function(data){})
感谢大家帮助我解决这个问题。
编辑:
我发现问题出在哪里,但我不知道如何解决:
在我执行 $http.get().then(function(data){
/****** HERE I'm losing the correct order ****/}); 之前,一切似乎都很好
它是一个复杂的代码,我有 3 个嵌套的角度 foreach 函数。
最后,不知何故,我得到了想要的结果。
但是结果排序不正确,不知道为什么。
这是结果:
{dayId: 1, dayName: "Jeudi", personTaskMonthly: Array(2), $$hashKey: "object:79"}
{dayId: 3, dayName: "Samedi", personTaskMonthly: Array(0), $$hashKey: "object:82"}
{dayId: 2, dayName: "Vendredi", personTaskMonthly: Array(0), $$hashKey: "object:85"}
{dayId: 5, dayName: "Lundi", personTaskMonthly: Array(0), $$hashKey: "object:88"}
{dayId: 6, dayName: "Mardi", personTaskMonthly: Array(0), $$hashKey: "object:91"}
{dayId: 4, dayName: "Dimanche", personTaskMonthly: Array(0), $$hashKey: "object:94"}
{dayId: 10, dayName: "Samedi", personTaskMonthly: Array(0), $$hashKey: "object:97"}
{dayId: 7, dayName: "Mercredi", personTaskMonthly: Array(0), $$hashKey: "object:100"}
{dayId: 12, dayName: "Lundi", personTaskMonthly: Array(0), $$hashKey: "object:103"}
{dayId: 8, dayName: "Jeudi", personTaskMonthly: Array(0), $$hashKey: "object:106"}
{dayId: 11, dayName: "Dimanche", personTaskMonthly: Array(0), $$hashKey: "object:109"}
{dayId: 9, dayName: "Vendredi", personTaskMonthly: Array(0), $$hashKey: "object:112"}
{dayId: 18, dayName: "Dimanche", personTaskMonthly: Array(0), $$hashKey: "object:115"}
{dayId: 13, dayName: "Mardi", personTaskMonthly: Array(0), $$hashKey: "object:118"}
{dayId: 15, dayName: "Jeudi", personTaskMonthly: Array(0), $$hashKey: "object:121"}
而我的预期结果是这样的:
{dayId: 1, dayName: "Jeudi", personTaskMonthly: Array(2), $$hashKey: "object:79"}
{dayId: 2, dayName: "Vendredi", personTaskMonthly: Array(0), $$hashKey: "object:85"}
{dayId: 3, dayName: "Samedi", personTaskMonthly: Array(0), $$hashKey: "object:82"}
{dayId: 4, dayName: "Dimanche", personTaskMonthly: Array(0), $$hashKey: "object:94"}
{dayId: 5, dayName: "Lundi", personTaskMonthly: Array(0), $$hashKey: "object:88"}
{dayId: 6, dayName: "Mardi", personTaskMonthly: Array(0), $$hashKey: "object:91"}
{dayId: 7, dayName: "Mercredi", personTaskMonthly: Array(0), $$hashKey: "object:100"}
{dayId: 8, dayName: "Jeudi", personTaskMonthly: Array(0), $$hashKey: "object:106"}
{dayId: 9, dayName: "Vendredi", personTaskMonthly: Array(0), $$hashKey: "object:112"}
{dayId: 10, dayName: "Samedi", personTaskMonthly: Array(0), $$hashKey: "object:97"}
{dayId: 11, dayName: "Dimanche", personTaskMonthly: Array(0), $$hashKey: "object:109"}
{dayId: 12, dayName: "Lundi", personTaskMonthly: Array(0), $$hashKey: "object:103"}
{dayId: 13, dayName: "Mardi", personTaskMonthly: Array(0), $$hashKey: "object:118"}
....
您能帮我吗?如何对这个 json 结果进行排序以达到所需的效果?
这是我的 angularjs 代码:
function getMonthlyTask(daysInterv){
/*
var sDateHour = $scope.dayInterval[0].dsUnix;
var eDateHour = $scope.dayInterval[$scope.dayInterval.length-1].deUnix; */
var taskPerDay=[];
var i=0;
var counter = [];
daysInterv.forEach(function(item, ind){
var sDateHour = item.dsUnix;
var eDateHour = item.deUnix;
var dayName = item.dayName;
var dId = item.id;
$http.get('link')
.then(function(data){
var datas = data.data;
var personTaskMonthly=[];
datas.forEach(function(it, ind){
var idProfile = it.id_profile;
var idGroupe = it.id_groupe;
if (it.tasks){
var countPT = {};
var count;
it.tasks.forEach(function(k,v){
if(k.comptable==1){
if(!countPT[k.id_profile]){
count=1;
countPT[k.id_profile]=count;
}else{
count+=1;
countPT[k.id_profile]=count;
}
}
})
personTaskMonthly.push({'id_profile':it.id_profile, 'groupe':it.groupe,countPT});
}
})
taskPerDay.push({'dayId':dId,'dayName':dayName,personTaskMonthly});
//$scope.personTaskMonthly=personTaskMonthly;
});//ending then
})
console.log(taskPerDay);
var sorted = taskPerDay.sort(function(a,b){return a-b});
$scope.taskPerDay = sorted;
console.log(sorted);
}
【问题讨论】:
-
好的。但是排序的代码在哪里?
-
通常我应该已经把这个排序了,但是发生了一些事情,排序正在改变顺序。
-
看看这个链接...刷新它,你会看到变化thedev.koalito.com/newPlanning2/fullView.php
-
我没有看到您在您发布的链接中描述的症状。
标签: javascript arrays angularjs angularjs-orderby