Zobacz edycję na końcu dla rzeczywistego problemu.Tablica sortowania JavaScript obiektów według właściwości boolowskiej
Ok, mam następujący scenariusz:
a = [false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
Następnie, jeśli mogę to zrobić:
a.sort(function(a,b){return !a && b});
Daje mi to:
[false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]
To jakoś robi coś w rodzaju ... ale nie do końca ... :(
Jak sortować tę tablicę?
EDIT:
Jeśli zastanawiasz się, dlaczego nie użyć po prostu a.sort() jest, bo moja rzeczywista tablica jest obiektów, a nie zwykły szyk jak ten napisałem. Prawdziwy jeden posiada elementy, które wyglądają jak [{xx: true}, {xx: false}, ...]
Jeśli robię a.map (function (x) {return x 1: 0}). Sort (function (a, b) {return a> b}); też nie działa ... Myślę, że mógłbym zrobić coś elementarnego nie tak – PCoelho
dlaczego trzeba pisać niestandardową funkcję? a.sort() powinien działać –