★ wanayoo — archive 1999 https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/observeNouvelle recherche | Portail wanayoo

Join MDN and developers like you at Mozilla's View Source conference, November 2-4 in Portland, Oregon. Learn more at https://viewsourceconf.org/.

Array.observe()

von 1 Mitwirkenden:

This is an experimental technology, part of the ECMAScript 2016 (ES7) proposal.
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes.

Die Array.observe() Methode wird für das asyncrone beobachten der Veränderung von Arrays benutzt, ähnlich wie Object.observe() für Objekte. Sie stellt einen stream von Änderungen in der Reihenfolge in dennen sie auftretten zur Verfügung.
Equivalent zu  Object.observe() und wird ausgeführt mit der liste ["add", "update", "delete", "splice"].

Syntax

Array.observe(arr, callback)

Parameter

arr
    Das Array, welches beobachtet wird.
callback
Die Funktion, welche jedes mal bei einer Änderung aufgerufen wird, mit folgenden Argumenten:
changes
Ein Array aus Objekten. Jedes repräsentiert eine Änderung. Die Eigenschaften dieser change Objekte sind:
  • name: Der Name der Eigenschaft, welche geändert wurde.
  • object: Das veränderte Array, nachdem die Änderung stattfand.
  • type: Ein String, welcher den Typ der Änderung darstellt. Er hat den Wert "add", "update", "delete", oder "splice".
  • oldValue: Nur für "update" und "delete" Typ. Der Wert vor der Änderung.
  • index: Nur für "splice" Typ. Der Index, an welchem die Änderung stattfand.
  • removed: Nur für "splice" Typ. Ein Array aus den gelöschten Elementen.
  • addedCount: Nur für "splice" Typ. Die Anzahl an Elementen, welche hinzugefügt wurden.

Beschreibung

Die callback Funktion wird jedes mal aufgerufen, wenn eine Änderung in arr stattfindet mit einem Array von allen Änderungen in der Reihenfolge in der sie auftreten

Änderungen über die Array Methoden, wie zum Beispiel Array.prototype.pop(), werden als "splice" "changes" dargestellt.
Index Änderungen, welche die Länge des Arrays nicht verändern, werden als "update" "changes" dargestellt.

Beispiele

Aufzeichnung verschiedener change Typen

var arr = ['a', 'b', 'c'];

Array.observe(arr, function(changes) {
  console.log(changes);
});

arr[1] = 'B';
// [{type: 'update', object: <arr>, name: '1', oldValue: 'b'}]

arr[3] = 'd';
// [{type: 'splice', object: <arr>, index: 3, removed: [], addedCount: 1}]

arr.splice(1, 2, 'beta', 'gamma', 'delta');
// [{type: 'splice', object: <arr>, index: 1, removed: ['B', 'c', 'd'], addedCount: 3}]

Spezifikationen

Strawman proposal for ECMAScript 7.

Browser Kompabilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 36 Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Nicht unterstützt (Ja) Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt

See also

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: oliver-j
Zuletzt aktualisiert von: oliver-j,
Seitenleiste ausblenden