Heej mensen,
Ik heb voor een js-applicatie de mogelijkheid nodig om de volgorde van een array te wijzigen. De array is een 2-dimensionale associatieve array, bijv:
Nu tracht ik te bereiken dat je de key 'test' (met bijbehorende elementen uiteraard) zowel naar onderen als naar boven kan plaatsen. Uiteraard kan naar boven in het geval van 'test' niet, maar van 'blaat' wel. Ook de keys in een niveau dieper moeten deze mogelijkheden hebben.
Omdat het met ingebakken functies niet echt lukte (array_splice e.d. werken alleen met numerieke keys afaik), heb ik mijn eigen functie geschreven. De functie om een element naar beneden te schuiven werkt voor zowel IE als Fx, dus dat is het probleem niet. Echter, mijn functie om een element naar boven te schuiven werkt alleen in Fx.
In Fx werkt 't dus naar behoren, alleen geeft IE geen kik. Na een tijdje debuggen kom ik niet verder dus vraag ik hierbij of iemand van jullie een idee heeft waar mijn fout ligt?
Ik heb voor een js-applicatie de mogelijkheid nodig om de volgorde van een array te wijzigen. De array is een 2-dimensionale associatieve array, bijv:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Array ( [test] => Array ( [lorem] => Ipsum [dolor] => Sit [amet] => Consectetuer ) [blaat] => Array ( [elit] => Vivamus [donec] => Purus ) ) |
Nu tracht ik te bereiken dat je de key 'test' (met bijbehorende elementen uiteraard) zowel naar onderen als naar boven kan plaatsen. Uiteraard kan naar boven in het geval van 'test' niet, maar van 'blaat' wel. Ook de keys in een niveau dieper moeten deze mogelijkheden hebben.
Omdat het met ingebakken functies niet echt lukte (array_splice e.d. werken alleen met numerieke keys afaik), heb ik mijn eigen functie geschreven. De functie om een element naar beneden te schuiven werkt voor zowel IE als Fx, dus dat is het probleem niet. Echter, mijn functie om een element naar boven te schuiven werkt alleen in Fx.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| Object.prototype.moveUp = function(zoekIndex) { var nieuw = {}, vorigeVal = vorigeInd = null; for (var i in this) { if (typeof this[i] == 'function') continue; if (i == zoekIndex) { nieuw[vorigeInd] = null; delete nieuw[vorigeInd]; nieuw[i] = this[i]; nieuw[vorigeInd] = vorigeVal; } else { nieuw[i] = this[i]; vorigeVal = this[i]; vorigeInd = i; } } return nieuw; } // En dan aanroepen met: testArray = testArray.moveUp('blaat'); |
In Fx werkt 't dus naar behoren, alleen geeft IE geen kik. Na een tijdje debuggen kom ik niet verder dus vraag ik hierbij of iemand van jullie een idee heeft waar mijn fout ligt?
Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337