Angenommen, ich habe ein Array von ganzen Zahlen in Javascript, das ich überprüfen möchte, ob alle seine Werte in aufsteigender Reihenfolge sind. Ich möchte den Array-Schlüssel in einem anderen Array speichern, falls der Algorithmus einen Wert findet, der niedriger (oder gleich) ist und nicht nur den unmittelbar vorherigen vergleicht, sondern auch einen Wert, der davor liegt. Was ich getan habe, war folgendes:
%Vor%Offensichtlich überprüft das obige Algorightm nur die Werte, die niedriger sind als die vorhergehende.
Ein Array könnte folgende Werte enthalten:
arr = 1, 2, 3, 10, 5, 11, 12, 2, 4, 25
Die ungültigen Werte sind fett. Wenn ich die obige Schleife ausfühle, "fängt" sie nicht die zweitletzte ( 4 ), weil sie höher ist als ihr nächster linker Bruder , aber nicht so hoch wie seine alle linken Brüder .
BEARBEITEN:
Es wurden die folgenden Lösungen versucht, und keines gibt alle ungültigen Werte für dieses Array außer mir zurück. : (
Sie haben die letzten zwei Werte korrigiert, aber nicht die zweite. Ich verstehe aber nicht warum.
[24398, 24397 , 25004, 25177, 26302, 28036, 29312, 29635, 29829, 30476, 32595, 33732, 34995, 36047, 36363, 37310, 38022, 38882, 40746, 41212 42846, 43588, 44029, 44595, 44846, 45727, 46041, 47293, 48002, 48930, 49858, 51184, 51560, 53895, 54247, 54614, 55713, 56813, 57282, 57480, 57875, 58073, 58403, 60321, 61469 62051, 62310, 62634, 63217, 64505, 65413, 65677, 65940, 66203, 66572, 67957, 68796, 68964, 69098, 69233, 69435, 69759, 71496, 72577, 72823, 73007, 73252, 73743, 73866, 76405 77037, 77416, 77669, 79691, 80885, 81339, 81794, 82067, 82431, 83244, 84861, 86836, 88632, 89877, 90296, 91049, 91885, 92351, 92614, 93141, 93733, 93930, 94531, 95206, 95882 , 96895, 97732, 97973, 99261, 99422, 99583, 100332, 100599, 101666, 102066, 102600, 103504, 104432, 105174, 107216, 109085, 110181, 110679, 111177, 111988, 112553, 113005, 113457, 600 , 600 ]
Wenn Sie ein Element nicht in der richtigen Reihenfolge finden, sehen Sie sich die nächsten Elemente an, bis sie nicht mehr in der Reihenfolge relativ zum Element vor der nicht ordnungsgemäßen Einheit sind.
Fügen Sie dem zweiten Array die Out-of-Order-Elemente hinzu und fahren Sie mit dem neuen In-Order-Element fort.
%Vor%Behalte den größten Wert, den du gesehen hast ( siehe die Geige ):
%Vor%Tags und Links javascript arrays jquery