aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/array/indexof
diff options
context:
space:
mode:
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/array/indexof')
-rw-r--r--files/uk/web/javascript/reference/global_objects/array/indexof/index.html260
1 files changed, 0 insertions, 260 deletions
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
----
-<div>{{JSRef}}</div>
-
-<p>Метод <code><strong>indexOf()</strong></code> повертає перший індекс, за яким даний елемент був знайдений в масиві, а якщо він відсутній, то повертає -1.</p>
-
-<div class="note">
-<p><strong>Примітка:</strong> Щодо метода String, дивіться {{jsxref("String.prototype.indexOf()")}}.</p>
-</div>
-
-<pre class="brush: js">var a = [2, 9, 9];
-a.indexOf(2); // 0
-a.indexOf(7); // -1
-
-if (a.indexOf(7) === -1) {
- // елемент не існує у масиві
-}
-</pre>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><var>arr</var>.indexOf(<var>searchElement[</var>, <var>fromIndex]</var>)</pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>searchElement</code></dt>
- <dd>Елемент, який потрібно знайти.</dd>
- <dt><code>fromIndex</code> {{optional_inline}}</dt>
- <dd>Індекс, з якого починається пошук. Якщо індекс більше або дорівнює довжині масиву, повертається  -1, що означає, що масив не буде шукатися. Якщо значення показника є від'ємним числом, то воно трактується як зміщення від кінця масиву.</dd>
- <dd><code>Примітка:</code> якщо наданий індекс від'ємний, масив все ще ітерується спереду назад. Якщо індекс  рівний 0, то буде проведений пошук по всьому масиву. За замовчуванням: 0 (виконується пошук по всьому масиву).</dd>
-</dl>
-
-<h3 id="Значення_яке_повертається">Значення, яке повертається</h3>
-
-<p>Перший індекс елемента в масиві; якщо не знайдено, то <strong>-1</strong>.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p><code>indexOf()</code> порівнює <code>searchElement</code> з елементами Масиву, використовуючи <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators">строгу рівність</a> (той самий метод, що використовується з допомогою <code>===</code> або потрійним дорівнює).</p>
-
-<h2 id="Приклад">Приклад</h2>
-
-<h3 id="Використання_indexOf()">Використання <code>indexOf()</code></h3>
-
-<p>У наступному прикладі <code>indexOf()</code> використовується для пошуку значень в масиві.</p>
-
-<pre class="brush: js">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
-</pre>
-
-<h3 id="Пошук_всіх_відопвідностей_на_елементі">Пошук всіх відопвідностей на елементі</h3>
-
-<pre class="brush: js">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]
-</pre>
-
-<h3 id="Пошук_чи_існує_елемент_в_масиві_і_його_оновлення">Пошук, чи існує елемент в масиві, і його оновлення </h3>
-
-<pre class="brush: js">function updateVegetablesCollection (veggies, veggie) {
- if (veggies.indexOf(veggie) === -1) {
- veggies.push(veggie);
- console.log('Оновлений набір овочів : ' + veggies);
- } else if (veggies.indexOf(veggie) &gt; -1) {
- console.log(veggie + ' вже існує у наборі овочів.');
- }
-}
-
-var veggies = ['картопля', 'помідор', 'чилі', 'зелений перець'];
-
-updateVegetablesCollection(veggies, 'шпинат');
-// Оновлений набір овочів: картопля,помідор,чилі,зелений перець,шпинат
-updateVegetablesCollection(veggies, 'шпинат');
-// шпинат вже існує у наборі овочів.
-</pre>
-
-<h2 id="Поліфіл">Поліфіл</h2>
-
-<p><code>indexOf()</code> був доданий в стандарт ECMA-262 в 5-му виданні; як такий він може бути присутнім не у всіх браузерах. Це можна обійти, використовуючи наступний код на початку скриптів. Це дозволить вам використовувати метод <code>indexOf()</code>, коли ще немає вбудованої підтримки в браузері. Цей алгоритм збігається із зазначеною в ECMA-262, 5-е видання, припускаючи, що{{jsxref("Global_Objects/TypeError", "TypeError")}} і {{jsxref("Math.abs()")}} має свої оригінальні значення.</p>
-
-<pre class="brush: js">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 &gt;= length) {
- return -1;
- }
-
- if (index &lt; 0) {
- index = Math.max(length + index, 0);
- }
-
- if (member === undefined) {
- /*
- Оскільки `member` не визначено, ключі, які не існують,
-  будуть мати те ж значення, що і `member`, і, отже, повинні
-  бути перевірені.
- */
- do {
- if (index in that &amp;&amp; that[index] === undefined) {
- return index;
- }
- } while (++index &lt; length);
- } else {
- do {
- if (that[index] === member) {
- return index;
- }
- } while (++index &lt; length);
- }
-
- return -1;
- };
-}</pre>
-
-<p>Однак, якщо ви більше зацікавлені у всіх маленьких технічних бітах, визначених стандартом ECMA, і менше стурбовані продуктивністю або лаконічністю, то ви можете знайти це більш описове заповнення більш корисним.</p>
-
-<pre class="brush: js">// Кроки продукції 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 &gt;&gt;&gt; 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 &gt;= len, return -1.
- if (n &gt;= len) {
- return -1;
- }
-
- // 7. Якщо n &gt;= 0, то нехай k дорівнює n.
- // 8. Інакше, n&lt;0, нехай k дорівнює len - abs(n).
- // Якщо k менше, ніж 0, тоді нехай k дорівнює 0.
- k = Math.max(n &gt;= 0 ? n : len - Math.abs(n), 0);
-
- // 9. Повторювати, доки k &lt; len
- while (k &lt; 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 &amp;&amp; o[k] === searchElement) {
- return k;
- }
- k++;
- }
- return -1;
- };
-}
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Специфікація</th>
- <th scope="col">Статус</th>
- <th scope="col">Коментар</th>
- </tr>
- <tr>
- <td>{{SpecName('ES5.1', '#sec-15.4.4.14', 'Array.prototype.indexOf')}}</td>
- <td>{{Spec2('ES5.1')}}</td>
- <td>Початкове визначення. Реалізовано у JavaScript 1.6.</td>
- </tr>
- <tr>
- <td>{{SpecName('ES6', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}</td>
- <td>{{Spec2('ES6')}}</td>
- <td></td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<div>
-
-
-<p>{{Compat("javascript.builtins.Array.indexOf")}}</p>
-</div>
-
-<h2 id="Примітки_щодо_сумісності">Примітки щодо сумісності</h2>
-
-<ul>
- <li>Починаючи з Firefox 47 {{geckoRelease(47)}},  цей метод більше не повертатиме <code>-0</code>. Наприклад, <code>[0].indexOf(0, -0)</code> тепер завжди повертатиме <code>+0</code> ({{bug(1242043)}}).</li>
-</ul>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Array.prototype.lastIndexOf()")}}</li>
- <li>{{jsxref("TypedArray.prototype.indexOf()")}}</li>
- <li>{{jsxref("String.prototype.indexOf()")}}</li>
-</ul>