aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/array/find/index.html
diff options
context:
space:
mode:
authorRyan Johnson <rjohnson@mozilla.com>2021-04-29 16:16:42 -0700
committerGitHub <noreply@github.com>2021-04-29 16:16:42 -0700
commit95aca4b4d8fa62815d4bd412fff1a364f842814a (patch)
tree5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/global_objects/array/find/index.html
parentee3b1c87e3c8e72ca130943eed260ad642246581 (diff)
downloadtranslated-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/find/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/array/find/index.html233
1 files changed, 0 insertions, 233 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/array/find/index.html b/files/uk/web/javascript/reference/global_objects/array/find/index.html
deleted file mode 100644
index a08566da73..0000000000
--- a/files/uk/web/javascript/reference/global_objects/array/find/index.html
+++ /dev/null
@@ -1,233 +0,0 @@
----
-title: Array.prototype.find()
-slug: Web/JavaScript/Reference/Global_Objects/Array/find
-tags:
- - Array
- - JavaScript
- - Method
- - Prototype
- - polyfill
- - Довідка
-translation_of: Web/JavaScript/Reference/Global_Objects/Array/find
----
-<div>{{JSRef}}</div>
-
-<p>Метод <strong><code>find()</code></strong> повертає <strong>значення</strong> <strong>першого елемента </strong>в масиві, що задовільняє передану функцію тестування. Інакше вертається {{jsxref("undefined")}}.</p>
-
-<p>{{EmbedInteractiveExample("pages/js/array-find.html")}}</p>
-
-<div class="hidden">
-<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p>
-</div>
-
-<p>Зверніть увагу також на метод {{jsxref("Array.prototype.findIndex", "findIndex()")}}, що натомість повертає <strong>індекс</strong> знайденого елемента масиву, а не значення.</p>
-
-<p>Якщо вам необхідно знайти позицію елемента або дізнатись, чи існує елемент в масиві, використовуйте {{jsxref("Array.prototype.indexOf()")}} або {{jsxref("Array.prototype.includes()")}}.</p>
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox notranslate"><var>arr.find(callback(element[, index[, array]])[, thisArg])</var></pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code>callback</code></dt>
- <dd>Функція, що виконується для кожного значення в масиві і приймає три аргументи:
- <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>find</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>Значення</strong> <strong>першого елемента</strong> в масиві, який задовольняє надану перевірочну функцію. Інакше повертається {{jsxref("undefined")}}.</p>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Метод <code>find</code> виконує функцію <code>callback</code> один раз для кожного елемента в масиві, аж поки не буде знайдено такий, для якого <code>callback</code> повертає <a href="/uk/docs/Glossary/Truthy">правдиве значення</a>. Щойно такий елемент знайдено, <code>find</code> одразу ж повертає значення цього елемента. В іншому випадку, <code>find</code>  повертає {{jsxref("undefined")}}. Функція <code>callback</code> викликається для кожного індексу масиву з <code>0</code> по <code>length - 1</code> і виконується для усіх елементів, не лише для тих, які мають присвоєні значення. Це означає, що цей метод може бути менш ефективним для розріджених масивів у порівнянні з методами, які обробляють лише ті, елементи, яким присвоєні значення.</p>
-
-<p>Функція <code>callback</code> викликається з трьома аргументами: значення елемента, індекс елемента і об'єкт <code>Array</code>, перебір якого здійснюється.</p>
-
-<p>Якщо параметр <code>thisArg</code> передано до <code>find</code>, його буде використано як <code>this</code> для кожного виклику <code>callback</code>. Якщо його не передано, тоді використовуватиметься {{jsxref("undefined")}}.</p>
-
-<p>Метод <code>find()</code> не змінює масив, для якого викликається.</p>
-
-<p>Діапазон елементів, що їх має обробити <code>find</code>, визначається ще до першого виклику функції <code>callback</code>. Тому <code>callback</code> не обробляє елементи, додані до масиву після того, як почалося виконання <code>find</code>. Якщо існуючий, ще не опрацьований елемент масиву, змінюється функцією <code>callback</code>, його значення, що передається до <code>callback</code>, буде значенням на той момент, коли <code>find</code> доходить до індексу цього елемента. Видалені елементи все одно опрацьовуються.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Знайти_обєкт_в_масиві_за_однією_з_його_властивостей">Знайти об'єкт в масиві за однією з його властивостей</h3>
-
-<pre class="brush: js notranslate">var inventory = [
- {name: 'яблука', quantity: 2},
- {name: 'банани', quantity: 0},
- {name: 'вишні', quantity: 5}
-];
-
-function findCherries(fruit) {
- return fruit.name === 'вишні';
-}
-
-console.log(inventory.find(findCherries));
-// виводить { name: 'вишні', quantity: 5 }
-</pre>
-
-<h4 id="Використання_стрілочної_функції_ES2015">Використання стрілочної функції ES2015</h4>
-
-<pre class="brush: js notranslate">const inventory = [
- {name: 'яблука', quantity: 2},
- {name: 'банани', quantity: 0},
- {name: 'вишні', quantity: 5}
-];
-
-const result = inventory.find( fruit =&gt; fruit.name === 'вишні' );
-
-console.log(result) // { name: 'вишні', quantity: 5 }
-</pre>
-
-<h3 id="Знайти_просте_число_у_масиві">Знайти просте число у масиві</h3>
-
-<p>Наступний приклад знаходить елемент у масиві, який є простим числом (або повертає {{jsxref("undefined")}}, якщо простого числа немає):</p>
-
-<pre class="brush: js notranslate">function isPrime(element, index, array) {
- var start = 2;
- while (start &lt;= Math.sqrt(element)) {
- if (element % start++ &lt; 1) {
- return false;
- }
- }
- return element &gt; 1;
-}
-
-[4, 6, 8, 12].find(isPrime); // вертає undefined, простих чисел не знайдено
-[4, 5, 8, 12].find(isPrime); // вертає 5
-</pre>
-
-<p>Наступні приклади демонструють, що неіснуючі та видалені елементи теж опрацьовуються, і що значення, передане до функції зворотного виклику - це їхнє значення на момент перевірки.</p>
-
-<pre class="brush: js notranslate">// Створити масив без елементів за індексами 2, 3 та 4
-const array = [0,1,,,,5,6];
-
-// Виводить всі індекси, не лише ті, які мають присвоєні значення
-array.find(function(value, index) {
- console.log('Індекс ' + index + ' має значення ' + value);
-});
-
-// Виводить всі індекси, в тому числі видалені
-array.find(function(value, index) {
-
- // Видалити елемент 5 в першій ітерації
- if (index == 0) {
- console.log('Видалення елемента array[5] зі значенням ' + array[5]);
- delete array[5];
- }
- // Елемент 5 перевіряється, хоч і був видалений
- console.log('Індекс ' + index + ' має значення ' + value);
-});
-// очікуваний результат:
-// Видалення елемента array[5] зі значенням 5
-// Індекс 0 має значення 0
-// Індекс 1 має значення 1
-// Індекс 2 має значення undefined
-// Індекс 3 має значення undefined
-// Індекс 4 має значення undefined
-// Індекс 5 має значення undefined
-// Індекс 6 має значення 6
-</pre>
-
-<h2 id="Запасний_варіант_поліфіл">Запасний варіант (поліфіл)</h2>
-
-<p>Цей метод був доданий у ECMAScript 2015, тож, можливо, поки наявний не у всякій реалізації JavaScript. Проте, ви можете використати наступний код для забезпечення запасного варіанту <code>Array.prototype.find</code>:</p>
-
-<pre class="brush: js notranslate">// https://tc39.github.io/ecma262/#sec-array.prototype.find
-if (!Array.prototype.find) {
- Object.defineProperty(Array.prototype, 'find', {
- 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 &gt;&gt;&gt; 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 &lt; len
- while (k &lt; len) {
- // a. Нехай Pk дорівнює ! ToString(k).
- // b. Нехай kValue дорівнює ? Get(O, Pk).
- // c. Нехай testResult дорівнює ToBoolean(? Call(predicate, T, « kValue, k, O »)).
- // d. Якщо testResult дорівнює true, повернути kValue.
- var kValue = o[k];
- if (predicate.call(thisArg, kValue, k, o)) {
- return kValue;
- }
- // e. Збільшити k на 1.
- k++;
- }
-
- // 7. Повернути undefined.
- return undefined;
- }
- });
-}
-</pre>
-
-<p>Якщо вам потрібно забезпечити підтримку вкрай застарілих рушіїв JavaScript, в яких відсутня підтримка <code><a href="/uk/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.find', 'Array.prototype.find')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Первинне визначення.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-array.prototype.find', 'Array.prototype.find')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td></td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2>
-
-<div class="hidden">
-<p>The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
-</div>
-
-<p>{{Compat("javascript.builtins.Array.find")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li>{{jsxref("Array.prototype.findIndex()")}}</li>
- <li>{{jsxref("Array.prototype.every()")}}</li>
-</ul>