From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../global_objects/array/observe/index.html | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 files/uk/web/javascript/reference/global_objects/array/observe/index.html (limited to 'files/uk/web/javascript/reference/global_objects/array/observe/index.html') diff --git a/files/uk/web/javascript/reference/global_objects/array/observe/index.html b/files/uk/web/javascript/reference/global_objects/array/observe/index.html new file mode 100644 index 0000000000..3e3a386c83 --- /dev/null +++ b/files/uk/web/javascript/reference/global_objects/array/observe/index.html @@ -0,0 +1,89 @@ +--- +title: Array.observe() +slug: Web/JavaScript/Reference/Global_Objects/Array/observe +tags: + - JavaScript + - Масив + - застарілий + - метод +translation_of: Archive/Web/JavaScript/Array.observe +--- +
{{JSRef}} {{obsolete_header}}
+ +

Метод Array.observe() використовувався для асинхронного спостереження за змінами у масивах, схоже на  {{jsxref("Object.observe()")}} у об'єктах. Він надавав послідовність змін в порядку виникнення. Як і Object.observe(), він викликається з допустимим списком типів ["add", "update", "delete", "splice"]. Однак, цей API застарілий та був прибраний з переглядачів. Ви можете натомість використати більш загальний об'єкт {{jsxref("Proxy")}}.

+ +

Синтаксис

+ +
Array.observe(arr, callback)
+ +

Параметри

+ +
+
arr
+
Масив для спостереження.
+
callback
+
Функція, яка викликається кожен раз, коли відбуваються зміни, з наступним аргументом: +
+
changes
+
Масив об'єктів, кожен з яких відображає зміну. Властивості цих об'єктів змін: +
    +
  • name: Ім'я властивості, яка була змінена.
  • +
  • object: Змінений масив після того, як відбулась зміна.
  • +
  • type: Строка, що вказує тип зміни. Один з "add", "update", "delete", або "splice".
  • +
  • oldValue: Тільки для типів "update" та "delete". Значення перед зміною.
  • +
  • index: Тільки для типу "splice". Індекс, за яким відбулася зміна.
  • +
  • removed: Тільки для типу "splice". Масив видалених елементів.
  • +
  • addedCount: Тільки для типу "splice". Кількість доданих елементів.
  • +
+
+
+
+
+ +

Опис

+ +

Функція callback викликається кожен раз, коли у arr відбувається зміна, з масивом усіх змін у порядку, в якому вони відбувались.

+ +
+

Зміни, зроблені методами масивів, такими як Array.prototype.pop(), будуть записані як "splice". Зміни, пов'язані з призначенням величин за індексом, які не змінюють довжину масиву, можуть бути записані як "update".

+
+ +

Приклади

+ +

Логування різних типів змін

+ +
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'], addedCount: 3}]
+
+ +

Специфікації

+ +

Strawman proposal specification.

+ +

Сумісність з веб-переглядачами

+ +
+ + +

{{Compat("javascript.builtins.Array.observe")}}

+
+ +

Див. також

+ + -- cgit v1.2.3-54-g00ecf