Du bist nicht angemeldet. [Anmelden]
Optionen
Thema bewerten
Persistence getObject und push - #2834850 - 14.02.2017, 16:48:06
Ququknife
JS-Ty​p​

Registriert: 30.12.2016
Beiträge: 17
Hallo,

ich arbeite jetzt im Moment mit der Persistence, da speichere ich ein Array mit JSON Objekten drin in etwa so:
Code:
var Array = [{Nick:'Ququknife', Da´ta:0}]

KnuddelsServer.getPersistence().setObject('Datas', Array)


dann hole ich mir im späteren Verlauf des Codes diese Informationen oder ich hole sie in einer andren App mit:
Code:
Array = KnuddelsServer.getPersistence().getObject('Datas');


versuche ich dann dazu ein neues Object einzufügen mit .push(), gibt er mir aus, dass die Methode.push() im Obect[object Object] nicht gefunden wurde, auf was muss ich da achten? ich habe noch nie mit der Percistence gearbeitet...

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Ququknife] - #2834899 - 14.02.2017, 22:48:16
IgelchenM
​<><><><><><>

Registriert: 10.02.2005
Beiträge: 1.332
Ort: Bochum
Ich hab das jetzt eben nur flüchtig gelesen. Hast du schon mal Array[0].push() versucht? :-)
_________________________
Wo zum Teufel ist dieser Wayne wenn man ihn braucht?!

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: IgelchenM] - #2834907 - 15.02.2017, 01:33:41
Ququknife
JS-Ty​p​

Registriert: 30.12.2016
Beiträge: 17
habe ich jetzt mal ausprobiert, leider ist das nicht die Lösung, jetzt sagt es, can not call method push...

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Ququknife] - #2834911 - 15.02.2017, 04:28:04
Bizarrus
Bizzi​ is a​ctiva​ted.​

Registriert: 29.07.2006
Beiträge: 2.234
Ort: Dortmund
Du kannst in einem Objekt nicht pushen, dies geht ausschließlich mittels Arrays.

Scheint so zu sein, dass der bei dir aus dem Array ein Objekt gemacht hatte, so sieht es dann nun so aus:
Code:

{
 '0': {Nick:'Ququknife', Data: 0}
}



Du kannst versuchen, das Array neu zu setzen:

Code:
var new_array = [];
var Array = KnuddelsServer.getPersistence().getObject('Datas');

Object.keys(Array).forEach(function(index) {
    new_array.push(Array[index]);
});

Array = new_array;
_________________________
Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Bizarrus] - #2834912 - 15.02.2017, 04:30:40
Bizarrus
Bizzi​ is a​ctiva​ted.​

Registriert: 29.07.2006
Beiträge: 2.234
Ort: Dortmund
Badadadam, ich glaube, ich wüsste, woran es noch liegen kann:
Du hast die Variable mit einem reserved Word benannt. "Array" ist nämlich das Objekt "Array". Du kannst nicht einfach so vorhandene "Namen" überschreiben.

Nenne die Variable "Array" um!
_________________________
Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Bizarrus] - #2834935 - 15.02.2017, 11:27:25
Ququknife
JS-Ty​p​

Registriert: 30.12.2016
Beiträge: 17
naja in wirklichkeit heist meine Variable die ich nutze ganz anders, habe es jetzt nur zum zeigen so gemacht. Oder meinst du das allgemein?

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Ququknife] - #2834938 - 15.02.2017, 11:40:07
Vampiric Desire

Registriert: 15.09.2013
Beiträge: 1.501
Antwort auf: Ququknife
naja in wirklichkeit heist meine Variable die ich nutze ganz anders, habe es jetzt nur zum zeigen so gemacht. Oder meinst du das allgemein?


Don't do that! Zeige den Originalausschnitt, ansonsten kann man dir auch nicht richtig helfen.
_________________________
~Nickwechsel~Inaktiv

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Ququknife] - #2834943 - 15.02.2017, 12:25:20
Ququknife
JS-Ty​p​

Registriert: 30.12.2016
Beiträge: 17
ok hier mal das original:

hier lade ich das Array hoch!
Code:
var OnlineMinutes = [{Nick:'Ququknife', Seconds:0}];
KnuddelsServer.getPersistence().setObject('TimeStamp', Onlineminutes);


und hier hole ich mir es wieder von der Persistence:
Code:
OnlineMinutes = KnuddelsServer.getPersistence().getObject('TimeStamp', []);


ja und hier soll dann per push hinzugefügt werden, was leider nicht funktioniert werde mir dann aber mal den Vorschlag von Bizarrus ansehen:
Code:
OnlineMinutes.push({Nick:'neuerNick', Seconds:30});


das sind Originalausschnitte aus meinem Code vielleicht kann man damit mehr anstellen?

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Ququknife] - #2835082 - 17.02.2017, 00:06:39
DerNeuanfang
​Keksimperator

Registriert: 29.10.2007
Beiträge: 311
Ort: Cybernet
Speicherst du es nachdem du es gepusht hast ? :-)
_________________________
Desto mehr Käse desto weniger Löcher.
Desto mehr Löcher desto weniger Käse.
Also mehr Käse desto weiniger Käse ?!?

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: DerNeuanfang] - #2835128 - 17.02.2017, 13:30:38
Vampiric Desire

Registriert: 15.09.2013
Beiträge: 1.501
Übrigens macht es wahrscheinlich mehr Sinn die Onlinezeit beim Nutzer selber zu speichern und nicht als AppPersistence Object. Und Nicknamen eignen sich denkbar schlecht als Index, eher die UserID
_________________________
~Nickwechsel~Inaktiv

[zum Seitenanfang]  
Re: Persistence getObject und push [Re: Vampiric Desire] - #2835349 - 20.02.2017, 13:30:33
unamiableModerator

Registriert: 29.08.2016
Beiträge: 928
Da hier alle Fragen/Probleme geklärt/gelöst wurden nach Rücksprache mit dem TE hiermit geschlossen.
_________________________
every little thing, can be a big surprise.

[zum Seitenanfang]  


Moderator(en):  Keemo, unamiable