Das Problem besteht wahrscheinlich darin, dass das Array zwischen dem Zeitpunkt der Protokollierung und dem Zeitpunkt des Öffnens in der Konsole geändert wurde.
Um das Array an der Aufzeichnungszeit zu bekommen, klonen:
console.log(array.objects.slice());
console.log(array.objects.length);
Beachten Sie, dass diese Veränderung nicht schützen gegen die Array-Elementeigenschaften. Wenn Sie wollen, zu frieren, müssen Sie ein tiefes Klonen, die am häufigsten ist mit
console.log(JSON.parse(JSON.stringify(array.objects.slice()));
Das wird nicht funktionieren, wenn die Objekte nicht stringifyable sind, obwohl (zyklische Objekte, sehr tiefe Objekte, Eigenschaften beim Lesen Ausnahmen werfen usw.). In diesem Fall benötigen Sie eine spezifische Klonierung, wie meine eigene JSON.prune.log.
Eine Alternative zur Protokollierung ist auch in einem solchen Fall zu debuggen. Setzen Sie einen Haltepunkt und schauen Sie sich die Objekte an, während der Code gestoppt ist.
Gibt 'getPostList' ein' Versprechen' zurück? – Satpal
Können Sie PostStore-Daten posten? – Bikas
Ändern Sie 'array.objects', bevor Sie auf die Konsole schauen? Die Konsole ist "live", also zeigt sie den aktuellen Wert des Arrays, nicht was er enthielt, als Sie 'console.log()' aufgerufen haben. – Barmar