json array ile zamana ve gruba göre filtreleme
//JSON ARRAY'IMIZ
1: { grup: A, time: 19:50 }
2: { grup: B, time: 19:30 }
3: { grup: C, time: 19:32 }
4: { grup: B, time: 19:55 }
5: { grup: D, time: 19:49 }
6: { grup: E, time: 19:15 }
1 . Filtre zamana göre olursa İD ler şu şekilde diziliyor
// Bu zamana göre filtrelemede sorun yok.
6: { grup: E, time: 19:15 }
2: { grup: B, time: 19:30 }
3: { grup: C, time: 19:32 }
5: { grup: D, time: 19:49 }
1: { grup: A, time: 19:50 }
4: { grup: B, time: 19:55 }
2 . Filtrede ise istediğim şu; zamana göre sırala ama şu grup kuralına da uy!
Aynı gruptan diyelim ki (B) , 2 tane var. Ama biri saat olarak en sona denk geliyor. İşte o en sona kalmayacak. 1. B nin peşine yazılacak. Yani şöyle gözükecek. ve devamında diğer gruplarda da böyle düzen varsa onlara da uygulayacak
6: { grup: E, time: 19:15 }
2: { grup: B, time: 19:30 }
4: { grup: B, time: 19:55 } // bu normal "sort" işlemlerinde sona denk geliyor. bana burada B nin altında lazım
3: { grup: C, time: 19:32 }
5: { grup: D, time: 19:49 }
1: { grup: A, time: 19:50 }
off yaa uyuyup uyanınca kendime geldim. yanlış komuta odaklanmışım
filter komutu sıralama için degil sort u kullanmalıymışım.
1 . sıralamayı yaptım ama ikinci sıralamayı yapamıyorum.
sıralamada grupname mevcutsa
zamanı en küçügü sıralaya koyup diğerlerini zaman sıralamasına göre kendi içinde altına ekleyip döngüye devama etmek istiyorum.
id: 1 time: 12:00
id: 2 time: 12:05
id: 3 groupname: A1 time: 12:25 **** bu kısım gibi
id: 6 groupname: A1 time: 12:29
id: 8 groupname: A1 time: 12:33
id: 4 time: 12:27
id: 5 time: 12:29
id: 7 time: 12:29
id: 9 time: 12:35
id: 10 groupname: B3 time: 12:33
id: 11 groupname: B3 time: 12:33
1 . function çalışıyor.
var newArray = people.sort(function (a, b) {
return a.data.entertime.localeCompare(b.data.entertime);
});
console.log(newArray);
});