diff options
| author | Ryan Johnson <rjohnson@mozilla.com> | 2021-04-29 16:16:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 16:16:42 -0700 |
| commit | 95aca4b4d8fa62815d4bd412fff1a364f842814a (patch) | |
| tree | 5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/global_objects/array/findindex | |
| parent | ee3b1c87e3c8e72ca130943eed260ad642246581 (diff) | |
| download | translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2 translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip | |
remove retired locales (#699)
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/array/findindex')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/array/findindex/index.html | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/array/findindex/index.html b/files/uk/web/javascript/reference/global_objects/array/findindex/index.html deleted file mode 100644 index 550a072e19..0000000000 --- a/files/uk/web/javascript/reference/global_objects/array/findindex/index.html +++ /dev/null @@ -1,187 +0,0 @@ ---- -title: Array.prototype.findIndex() -slug: Web/JavaScript/Reference/Global_Objects/Array/findIndex -tags: - - Array - - ECMAScript6 - - JavaScript - - Масив - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/Array/findIndex ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <code><strong>findIndex()</strong></code> повертає <strong>індекс</strong> першого елемента у масиві, <strong>який задовольняє надану перевірочну функцію</strong>. Інакше повертаєтсья -1, зазначаючи, що жодний елемент не пройшов перевірку.</span></p> - -<div>{{EmbedInteractiveExample("pages/js/array-findindex.html")}}</div> - - - -<p>Дивіться також метод {{jsxref("Array.find", "find()")}}, який повертає <strong>значення</strong> елемента масиву замість індексу.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>arr</var>.findIndex<code>(callback(element[, index[, array]])[, thisArg])</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>callback</code></dt> - <dd>Функція, яка виконується на кожному значенні масиву, поки не поверне <code>true</code>, зазначаючи, що відповідний елемент знайдений. Вона приймає три аргументи: - <dl> - <dt><code>element</code></dt> - <dd>Поточний елемент масиву, який обробляється.</dd> - <dt><code>index</code>{{optional_inline}}</dt> - <dd>Індекс поточного елементу, що обробляється.</dd> - <dt><code>array</code>{{optional_inline}}</dt> - <dd>Масив, для якого був викликаний метод <code>findIndex</code>.</dd> - </dl> - </dd> - <dt><code>thisArg</code>{{optional_inline}}</dt> - <dd>Необов'язковий об'єкт для використання у якості <code>this</code> під час виконання <code>callback</code>.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Індекс першого елемента у масиві, який успішно пройшов перевірку. Інакше <strong>-1</strong>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>findIndex</code> виконує функцію <code>callback</code> один раз для кожного індексу <code>0..length-1</code> (включно) у масиві, поки не знайде той, для якого <code>callback</code> поверне правдиве значення (таке, що <a href="/uk/docs/Glossary/Type_Conversion">приводиться</a> до <code>true</code>).</p> - -<p>Якщо такий елемент знайдено, <code>findIndex</code> негайно повертає його індекс. Якщо функція зворотного виклику так і не повертає правдиве значення (або довжина масиву <code>length</code> дорівнює 0), <code>findIndex</code> повертає -1. На відміну від інших методів масивів, таких як {{jsxref("Array.some")}}, <code>callback</code> <strong>викликається</strong> навіть для індексів, що не мають значень.</p> - -<p><code>callback</code> викликається з трьома аргументами:</p> - -<ol> - <li>Значення елемента</li> - <li>Індекс елемента</li> - <li>Об'єкт Array, який перебирається</li> -</ol> - -<p>Якщо параметр <code>thisArg</code> передається до <code>findIndex</code>, він буде використаний у якості <code>this</code> всередині кожного виклику <code>callback</code>. Якщо він не наданий, то використовується {{jsxref("undefined")}}.</p> - -<p>Діапазон елементів, які опрацьовує <code>findIndex</code>, встановлюється до першого виклику <code>callback</code>. <code>callback</code> не обробляє елементи, додані до масиву після того, як почалося виконання <code>findIndex</code>. Якщо існуючий, ще не опрацьований елемент масиву змінюється функцією <code>callback</code>, його значення, що передається до <code>callback</code> буде значенням на той момент, коли <code>findIndex</code> доходить до індексу цього елементу. <a href="/uk/docs/Web/JavaScript/Reference/Operators/delete">Видалені</a> елементи все одно опрацьовуються.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Знайти_індекс_простого_числа_у_масиві">Знайти індекс простого числа у масиві</h3> - -<p>Наступний приклад повертає індекс першого елементу у масиві, який є простим числом, або -1, якщо там нема жодного простого числа.</p> - -<pre class="brush: js">function isPrime(element, index, array) { - var start = 2; - while (start <= Math.sqrt(element)) { - if (element % start < 1) { - return false; - } else { - start++; - } - } - return element > 2; -} - -console.log([4, 6, 8, 12].findIndex(isPrime)); // -1, не знайдено -console.log([4, 6, 7, 12].findIndex(isPrime)); // 2 (array[2] дорівнює 7) -</pre> - -<h3 id="Знайти_індекс_використувуючи_стрілочну_функцію">Знайти індекс, використувуючи стрілочну функцію</h3> - -<p>Наступний приклад знаходить індекс фрукта, використувуючи стрілочну функцію:</p> - -<pre class="brush: js">const fruits = ["яблуко", "банан", "диня", "чорниці", "грейпфрут"]; - -const index = fruits.findIndex(fruit => fruit === "чорниці"); - -console.log(index); // 3 -console.log(fruits[index]); // чорниці -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<pre class="brush: js">// https://tc39.github.io/ecma262/#sec-array.prototype.findindex -if (!Array.prototype.findIndex) { - Object.defineProperty(Array.prototype, 'findIndex', { - value: function(predicate) { - // 1. Нехай O дорівнює ? ToObject(this value). - if (this == null) { - throw new TypeError('"this" is null or not defined'); - } - - var o = Object(this); - - // 2. Нехай len дорівнює ? ToLength(? Get(O, "length")). - var len = o.length >>> 0; - - // 3. Якщо IsCallable(predicate) дорівнює false, викинути виняток TypeError. - if (typeof predicate !== 'function') { - throw new TypeError('предикат має бути функцією'); - } - - // 4. Якщо наданий thisArg, нехай T дорівнює thisArg; інакше нехай T дорівнює undefined. - var thisArg = arguments[1]; - - // 5. Нехай k дорівнює 0. - var k = 0; - - // 6. Повторювати, поки k < len - while (k < len) { - // a. Нехай Pk дорівнює ! ToString(k). - // b. Нехай kValue дорівнює ? Get(O, Pk). - // c. Нехай testResult дорівнює ToBoolean(? Call(predicate, T, « kValue, k, O »)). - // d. Якщо testResult дорівнює true, повернути k. - var kValue = o[k]; - if (predicate.call(thisArg, kValue, k, o)) { - return k; - } - // e. Збільшити k на 1. - k++; - } - - // 7. Повернути -1. - return -1; - }, - configurable: true, - writable: true - }); -} -</pre> - -<p>Якщо вам потрібно підтримувати зовсім застарілі рушії JavaScript, які не підтримують <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty">Object.defineProperty</a></code>, краще взагалі не використовувати поліфіли методів <code>Array.prototype</code>, оскільки ви не зможете зробити їх не перелічуваними.</p> - -<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('ES2015', '#sec-array.prototype.findindex', 'Array.prototype.findIndex')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Початкове визначення.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-array.prototype.findIndex', 'Array.prototype.findIndex')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Array.findIndex")}}</p> -</div> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Array.prototype.find()")}}</li> - <li>{{jsxref("Array.prototype.indexOf()")}}</li> -</ul> |
