From 95aca4b4d8fa62815d4bd412fff1a364f842814a Mon Sep 17 00:00:00 2001 From: Ryan Johnson Date: Thu, 29 Apr 2021 16:16:42 -0700 Subject: remove retired locales (#699) --- .../global_objects/array/indexof/index.html | 260 --------------------- 1 file changed, 260 deletions(-) delete mode 100644 files/uk/web/javascript/reference/global_objects/array/indexof/index.html (limited to 'files/uk/web/javascript/reference/global_objects/array/indexof/index.html') diff --git a/files/uk/web/javascript/reference/global_objects/array/indexof/index.html b/files/uk/web/javascript/reference/global_objects/array/indexof/index.html deleted file mode 100644 index 049c3ab869..0000000000 --- a/files/uk/web/javascript/reference/global_objects/array/indexof/index.html +++ /dev/null @@ -1,260 +0,0 @@ ---- -title: Array.prototype.indexOf() -slug: Web/JavaScript/Reference/Global_Objects/Array/indexOf -tags: - - Array - - JavaScript - - Масив - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/Array/indexOf ---- -
{{JSRef}}
- -

Метод indexOf() повертає перший індекс, за яким даний елемент був знайдений в масиві, а якщо він відсутній, то повертає -1.

- -
-

Примітка: Щодо метода String, дивіться {{jsxref("String.prototype.indexOf()")}}.

-
- -
var a = [2, 9, 9];
-a.indexOf(2); // 0
-a.indexOf(7); // -1
-
-if (a.indexOf(7) === -1) {
-  // елемент не існує у масиві
-}
-
- -

Синтаксис

- -
arr.indexOf(searchElement[, fromIndex])
- -

Параметри

- -
-
searchElement
-
Елемент, який потрібно знайти.
-
fromIndex {{optional_inline}}
-
Індекс, з якого починається пошук. Якщо індекс більше або дорівнює довжині масиву, повертається  -1, що означає, що масив не буде шукатися. Якщо значення показника є від'ємним числом, то воно трактується як зміщення від кінця масиву.
-
Примітка: якщо наданий індекс від'ємний, масив все ще ітерується спереду назад. Якщо індекс  рівний 0, то буде проведений пошук по всьому масиву. За замовчуванням: 0 (виконується пошук по всьому масиву).
-
- -

Значення, яке повертається

- -

Перший індекс елемента в масиві; якщо не знайдено, то -1.

- -

Опис

- -

indexOf() порівнює searchElement з елементами Масиву, використовуючи строгу рівність (той самий метод, що використовується з допомогою === або потрійним дорівнює).

- -

Приклад

- -

Використання indexOf()

- -

У наступному прикладі indexOf() використовується для пошуку значень в масиві.

- -
var array = [2, 9, 9];
-array.indexOf(2);     // 0
-array.indexOf(7);     // -1
-array.indexOf(9, 2);  // 2
-array.indexOf(2, -1); // -1
-array.indexOf(2, -3); // 0
-
- -

Пошук всіх відопвідностей на елементі

- -
var indices = [];
-var array = ['a', 'b', 'a', 'c', 'a', 'd'];
-var element = 'a';
-var idx = array.indexOf(element);
-while (idx != -1) {
-  indices.push(idx);
-  idx = array.indexOf(element, idx + 1);
-}
-console.log(indices);
-// [0, 2, 4]
-
- -

Пошук, чи існує елемент в масиві, і його оновлення 

- -
function updateVegetablesCollection (veggies, veggie) {
-    if (veggies.indexOf(veggie) === -1) {
-        veggies.push(veggie);
-        console.log('Оновлений набір овочів : ' + veggies);
-    } else if (veggies.indexOf(veggie) > -1) {
-        console.log(veggie + ' вже існує у наборі овочів.');
-    }
-}
-
-var veggies = ['картопля', 'помідор', 'чилі', 'зелений перець'];
-
-updateVegetablesCollection(veggies, 'шпинат');
-// Оновлений набір овочів: картопля,помідор,чилі,зелений перець,шпинат
-updateVegetablesCollection(veggies, 'шпинат');
-// шпинат вже існує у наборі овочів.
-
- -

Поліфіл

- -

indexOf() був доданий в стандарт ECMA-262 в 5-му виданні; як такий він може бути присутнім не у всіх браузерах. Це можна обійти, використовуючи наступний код на початку скриптів. Це дозволить вам використовувати метод indexOf(), коли ще немає вбудованої підтримки в браузері. Цей алгоритм збігається із зазначеною в ECMA-262, 5-е видання, припускаючи, що{{jsxref("Global_Objects/TypeError", "TypeError")}} і {{jsxref("Math.abs()")}} має свої оригінальні значення.

- -
if (!Array.prototype.indexOf) {
-  Array.prototype.indexOf = function indexOf(member, startFrom) {
-    /*
-   У спрощеному режимі, якщо змінна `this` має значення null або
- undefined, то вона встановлюється в об'єкт window. В іншому випадку
- `this` автоматично перетворюється в об'єкт. У строгому режимі, якщо
- змінна 'this' має значення null або undefined, генерується 'TypeError'.
-    */
-    if (this == null) {
-      throw new TypeError("Array.prototype.indexOf() - can't convert `" + this + "` to object");
-    }
-
-    var
-      index = isFinite(startFrom) ? Math.floor(startFrom) : 0,
-      that = this instanceof Object ? this : new Object(this),
-      length = isFinite(that.length) ? Math.floor(that.length) : 0;
-
-    if (index >= length) {
-      return -1;
-    }
-
-    if (index < 0) {
-      index = Math.max(length + index, 0);
-    }
-
-    if (member === undefined) {
-      /*
-        Оскільки `member` не визначено, ключі, які не існують,
-        будуть мати те ж значення, що і `member`, і, отже, повинні
-        бути перевірені.
-      */
-      do {
-        if (index in that && that[index] === undefined) {
-          return index;
-        }
-      } while (++index < length);
-    } else {
-      do {
-        if (that[index] === member) {
-          return index;
-        }
-      } while (++index < length);
-    }
-
-    return -1;
-  };
-}
- -

Однак, якщо ви більше зацікавлені у всіх маленьких технічних бітах, визначених стандартом ECMA, і менше стурбовані продуктивністю або лаконічністю, то ви можете знайти це більш описове заповнення більш корисним.

- -
// Кроки продукції ECMA-262, Edition 5, 15.4.4.14
-// Посилання: http://es5.github.io/#x15.4.4.14
-if (!Array.prototype.indexOf) {
-  Array.prototype.indexOf = function(searchElement, fromIndex) {
-
-    var k;
-
-    // 1. Нехай o є результатом виклику ToObject, що передає це
-    //    значення в якості аргументу.
-    if (this == null) {
-      throw new TypeError('"this" is null or not defined');
-    }
-
-    var o = Object(this);
-
-    // 2. Нехай lenValue є результатом виклику Get,
-    //    внутрішнього методу o з аргументом "length".
-    // 3. Нехай len буде ToUint32(lenValue).
-    var len = o.length >>> 0;
-
-    // 4. Якщо len рівне 0, return -1.
-    if (len === 0) {
-      return -1;
-    }
-
-    // Якщо аргумент fromIndex був переданий, let n =
-    // ToInteger(fromIndex); інакше let n = 0.
-    var n = fromIndex | 0;
-
-    // 6. Якщо n >= len, return -1.
-    if (n >= len) {
-      return -1;
-    }
-
-    // 7. Якщо n >= 0, то нехай k дорівнює n.
-    // 8. Інакше, n<0, нехай k дорівнює len - abs(n).
-    //    Якщо k менше, ніж 0, тоді нехай k дорівнює 0.
-    k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
-
-    // 9. Повторювати, доки k < len
-    while (k < len) {
-      // а. Нехай Pk дорівнює ToString(k). Це неочевидно для лівосторонніх операндів оператора in
-      // б. Нехай kPresent буде результатом виклику
-      //    внутрішнього метода o HasProperty з аргументом Pk.
-      //    Цей крок можна поєднати з в
-      // в. Якщо kPresent дорівнює true, тоді
-      //    i.  Нехай elementK буде результатом виклику
-      //        внутрішнього метода o Getwith з аргументом ToString(k).
-      //   ii.  Нехай те саме буде результатом застосування
-      //        Алгоритму Строгого Порівняння (Strict Equality Comparison Algorithm)
-      //        до searchElement та elementK.
-      //  iii.  Якщо те саме дорівнює true, повернути k.
-      if (k in o && o[k] === searchElement) {
-        return k;
-      }
-      k++;
-    }
-    return -1;
-  };
-}
-
- -

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

- - - - - - - - - - - - - - - - - - - - - - - - -
СпецифікаціяСтатусКоментар
{{SpecName('ES5.1', '#sec-15.4.4.14', 'Array.prototype.indexOf')}}{{Spec2('ES5.1')}}Початкове визначення. Реалізовано у JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}{{Spec2('ESDraft')}}
- -

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

- -
- - -

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

-
- -

Примітки щодо сумісності

- - - -

Див. також

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